Commit Graph

170 Commits

Author SHA1 Message Date
45b83761dc Add 60px bottom padding to footer
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 16:43:43 -05:00
a2a31f528b Sidebar accordions at all breakpoints, open on desktop, closed on mobile
Accordion structure now applies at all screen sizes. On desktop
(>= 992px) all panels start expanded (show class + aria-expanded
true). On mobile (< 992px) all panels start collapsed. CSS no
longer scoped to mobile media query.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 16:32:57 -05:00
4e54231b16 Revert: disable sticky header on mobile as intended
Restore position: relative on mobile so the header scrolls away
on small screens. Sticky only applies on desktop (>= 992px).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 16:30:26 -05:00
ddabcdc654 Enable sticky header on mobile viewports
Remove position: relative override that disabled sticky on mobile.
The header now stays sticky at all breakpoints when the admin
enables the sticky header option.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 16:04:39 -05:00
b637b78a4d Convert sidebar modules to accordion on mobile
On screens < 992px, sidebar-left and sidebar-right card modules
are transformed into Bootstrap accordion items via JS. Card headers
become collapsible toggles, card bodies collapse. On desktop resize
the accordion reverts to normal cards.

CSS scoped to mobile breakpoint styles the accordion buttons and
removes card borders for a clean stacked look.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:53:47 -05:00
1abdd9a253 Force search module 100% width at all breakpoints
Add width: 100% to .container-search and child elements. Override
desktop media query from flex: 0 0 auto/min-width: 300px to
flex: 1 1 100%/width: 100%.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:50:13 -05:00
eddc5dd418 Update template.css 2026-04-04 15:38:27 -05:00
6f72b0ffcd Use Font Awesome for hamburger menu icon
Replace Bootstrap navbar-toggler-icon SVG with fa-solid fa-bars
in mainmenu.php. Update .container-header .navbar-toggler CSS to
use --mainmenu-nav-link-color for color and border.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:33:22 -05:00
0cda4a6844 Make search module full width in header search position
Set width: 100% on .container-search, .mod-finder, .mod-finder__form,
and the input-group so the search bar stretches the full width of
the navigation area.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:31:37 -05:00
0f23431ee6 Update template.css 2026-04-04 15:27:59 -05:00
6db423fab1 Update template.css 2026-04-04 15:26:09 -05:00
9a83d52539 Match navbar toggler color to nav link color in header
.container-header .navbar-toggler now uses --mainmenu-nav-link-color
for both text/border color and the hamburger icon SVG, matching
the rest of the navigation links.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:14:31 -05:00
ccf385c1cf Fix container-nav links, blog card heights, and empty message container
- .container-nav a now uses --mainmenu-nav-link-color so all links
  in the navigation area match the navbar color scheme.
- Blog items use flex: 1 + height: 100% so cards in the same row
  are equal height. Read more button pinned to bottom via
  margin-top: auto.
- #system-message-container:empty hides the Joomla message wrapper
  when no messages are present, removing empty whitespace.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:09:46 -05:00
e6fd1d303b Update template.css 2026-04-04 15:03:21 -05:00
17c8e23a5e Update template.css 2026-04-04 15:03:08 -05:00
f08c001317 Update template.css 2026-04-04 14:58:44 -05:00
b070be683b Add system-wide IcoMoon to Font Awesome 7 compatibility layer
Replace the partial 10-icon mapping with a comprehensive layer
that covers 80+ Joomla IcoMoon icon-* classes. All icon-* prefixed
elements now render using Font Awesome 7 Free glyphs via ::before
pseudo-elements with the correct font-family, weight, and
smoothing. Covers navigation, actions, objects, status, media,
layout, and publishing icons.

Also fix back-to-top icon in error.php (icon-arrow-up → fa-solid
fa-arrow-up).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:27:04 -05:00
4801571b53 Fix main menu link color in header and back-to-top functionality
Main menu links in the header now explicitly use
--mainmenu-nav-link-color via .container-header .nav-link
selector, preventing the generic --nav-link-color from bleeding
through when variables resolve to the body link color.

Back-to-top link:
- Switch icon from IcoMoon (icon-arrow-up) to Font Awesome
  (fa-solid fa-arrow-up) for consistency with the rest of the
  template.
- Add id="top" to the header element so the href="#top" fallback
  works even when JavaScript is disabled.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:24:23 -05:00
c52f6b833e Fix a11y toolbar overlapping theme FAB — increase vertical offset
Bump a11y toolbar bottom from 3.5rem to 5rem when theme FAB is
present, ensuring the toggle button clears the FAB completely.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 13:58:02 -05:00
bde8fbbbc0 Add mod_menu default override with showtitle; fix a11y/FAB overlap
- Create default.php for mod_menu with showtitle support, suitable
  for sidebar and footer menu modules (simple nav list, not navbar).
- Fix accessibility toolbar overlapping theme FAB by stacking the
  a11y toggle above the FAB instead of beside it.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 12:39:38 -05:00
7ba7806c63 Complete module overrides with showtitle for all Joomla core modules
New overrides: mod_articles_archive, mod_articles_categories,
mod_banners, mod_languages, mod_random_image, mod_syndicate.

Fix mod_stats: replace right-aligned badge layout with definition
list (dl/dt/dd) for natural left-aligned display of stat labels
and values. Add CSS for the stats definition list.

All standard Joomla 5 site modules now have template overrides
with showtitle support and BEM-style class names.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 12:08:50 -05:00
7f0737f1bb Add module overrides with showtitle, fix footer and a11y positioning
New module overrides with showtitle support:
- mod_stats, mod_feed, mod_wrapper, mod_whosonline, mod_users_latest

Footer CSS:
- Each footer module now stacks full-width (flex-direction: column)
- Remove hardcoded padding-right: 300px inline style
- Dynamic footer padding-right based on theme FAB and a11y toolbar

Accessibility toolbar positioning:
- Toolbar now sits to the right of the theme FAB (bottom-right area)
- Shifts automatically when theme FAB is enabled via CSS attribute
  selectors on body data attributes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 11:49:26 -05:00
28bf07a443 Add accessibility toolbar with 6 toggleable options
Adds a floating accessibility toolbar to the template with individually
enable/disable options: text resize, color inversion, high contrast,
highlight links, readable font, and pause animations. Each option has
an admin toggle in the Theme tab and persists visitor preferences in
localStorage. Also fixes count() on null in mod_login override.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 11:21:22 -05:00
005644b07f CSS adjustment 2026-04-04 08:48:24 -05:00
628a99c37c Fix sticky header: remove position:relative override on .container-header
.container-header had position:relative which overrode .sticky-top's
position:sticky due to CSS source order (container-header appeared
later). Removed the conflicting rule. Added .container-header.sticky-top
with z-index:1020 to keep header above all content. Mobile media query
now only disables sticky when the sticky class is present.

Fixes #115

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 23:07:12 -05:00
65bb4c13f9 Update dark.standard.css 2026-04-02 21:56:14 -05:00
1e180dab81 Update dark.standard.css 2026-04-02 21:55:36 -05:00
19a480ba0c Update template.css 2026-04-02 21:14:07 -05:00
7ee1e3fe39 Footer css fix 2026-04-02 20:51:48 -05:00
4017e45975 Module overrides with showtitle, suffix, and header_tag support + CSS
New default.php overrides for 11 Joomla core modules:
- mod_custom (default + updated hero layout)
- mod_articles_latest, mod_articles_popular, mod_articles_news
- mod_articles_category, mod_breadcrumbs, mod_footer
- mod_login (BS5 form with FA7 icons), mod_finder (BS5 search)
- mod_tags_popular (badge layout), mod_tags_similar, mod_related_items

All overrides consistently respect:
- $module->showtitle — renders title only when enabled
- header_tag param — configurable heading level (h1-h6)
- header_class param — custom CSS class on the title
- moduleclass_sfx — custom suffix class on the wrapper

CSS additions in template.css:
- Shared __title styles for all module headings
- List styling for article/tag/related modules
- Newsflash card layout, tag badges, search form, login form
- Breadcrumb and footer module styling

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:46:17 -05:00
f476c6310d Strip remaining FILE INFORMATION headers from all non-XML/README files
Removes DEFGROUP, INGROUP, PATH, VERSION, BRIEF metadata from:
- Root PHP files (index.php, custom.php, error.php, offline.php, component.php)
- Language INI files (en-GB, en-US)
- All index.html security stubs
- brand-showcase.html, theme-test.html

Copyright/SPDX block preserved in all files.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 15:50:35 -05:00
26e7be57d3 Hero variable system, CSS fallbacks, header cleanup, remove mobile overrides
- Hero card fully variable-driven: --hero-card-bg/color/overlay/border-radius/padding/max-width
- Alternative hero variant: --hero-alt-card-* for secondary theme
- Overlay bg-position and bg-size now customizable via variables
- Mobile breakpoint: photo bg hidden, hero full-bleed on small screens
- Added fallback values to 1365 var() calls in template.css
- .btn --btn-bg changed from transparent to var(--body-bg) in dark/light themes
- .offcanvas-header .btn-close gets background-color from overlay
- Stripped file info headers (@package/DEFGROUP/VERSION) from 48 files, kept copyright/SPDX
- Synced all theme variables across standard and custom templates
- Removed 26 mobile.php layout overrides
- Added *.py to .gitignore, card-border-radius fallback

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 11:17:53 -05:00
9b9bbf7d57 Sync all file VERSION headers to 03.09.02
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:54:44 -05:00
044d8277f8 CSS and Joomla 6 fixes: dropdown icons, footer, drawers, horizontal menu
- Replace CSS border-triangle dropdown toggles with FontAwesome chevron icon
- Fix footer: use --nav-bg-color background, --mainmenu-nav-link-color links, add display:flex to grid-child
- Dynamic footer padding-right when theme control is active
- Drawer close buttons: align left in left drawer, right in right drawer
- Fix .menu-horizontal selector (was .metismenu.menu-horizontal, actual output is .mod-menu.menu-horizontal)
- Add horizontal padding to .mod-list li
- Joomla 6 compat: replace legacy JHtml with namespaced HTMLHelper in mod_kunenalogin

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:48:12 -05:00
dd19e226f4 Drawer toggle fix 2026-03-31 13:43:36 -05:00
e061232447 Color and padding fixes 2026-03-31 13:19:32 -05:00
b03cacc608 Color variable fix 2026-03-26 17:32:51 -05:00
1f69f26d80 Update template.css 2026-03-26 16:43:48 -05:00
eb3ad178c9 feat: add hero variant and block color variables to standard theme files
Adds all 20 hero variant and block color CSS variables to both
light.standard.css and dark.standard.css, matching the custom palette
templates. Users on the standard palette now get hero variants and
block colors out of the box.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 13:31:02 -05:00
11e4664cd5 Update template.css 2026-03-26 11:01:26 -05:00
00850c3b61 Promote table and backdrop variables to :root theme files
Move --table-* and --backdrop-* base definitions from component selectors
in template.css into :root[data-bs-theme] blocks in light/dark theme files.

Dark table uses white-rgb-based striped/active overlays for proper contrast
on dark surfaces. Deduplicate the double --table-active-* declarations that
existed in template.css. Backdrop values are identical in both themes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 00:18:37 -05:00
74f9024389 Promote Bootstrap component variables from template.css to :root theme files
Move 16 component variable groups from component-scoped selectors in
template.css into :root[data-bs-theme] blocks in light.standard.css and
dark.standard.css:

accordion, breadcrumb, pagination, badge, alert, progress, list-group,
dropdown, toast, modal, tooltip, popover, spinner, nav, nav-tabs, nav-pills

Dark theme values adapted for dark surfaces: semantic var() references,
lighter SVG icon fill colours, heavier shadows, secondary-bg backgrounds.
Component selectors in template.css retain only non-variable rules.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 00:16:44 -05:00
b043ccc099 Promote offcanvas variables to :root theme files and document in CSS Variables tab
- Move --offcanvas-* definitions from component-scoped .offcanvas selector in
  template.css into :root[data-bs-theme] blocks in light.standard.css and
  dark.standard.css so they are overridable via user.css at root level
- Fix two bugs in the old definitions: --offcanvas-bg was incorrectly set to
  var(--body-color) (text colour); corrected to var(--body-bg); and
  --offcanvas-color had a spurious 'color:' prefix
- Dark theme uses a heavier box-shadow (0.3 alpha) for better depth perception
- Add css_vars_offcanvas field to templateDetails.xml CSS Variables tab
- Add en-US and en-GB language strings for the new Offcanvas Panel section
- Rebuild all .min CSS files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 22:54:55 -05:00
63c88ede64 Merge duplicate prefers-reduced-motion media queries
Consolidate the two @media (prefers-reduced-motion: no-preference) blocks
into one — scroll-behavior and theme-switch colour transitions share the
same query and are cleaner in a single block.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 22:02:28 -05:00
f7b41f66bb Update template.css 2026-03-17 22:00:55 -05:00
c011742e4a Add smooth theme-switch transitions and restore hero .overlay wrapper
- Add prefers-reduced-motion-scoped CSS transitions (bg, color, border) on
  :root, body, and key layout containers so light/dark theme switches animate
  smoothly instead of snapping
- Restore <div class="overlay"> child in hero.php; slim .custom-hero rule to a
  customisation hook only — visual overlay styles are handled by .overlay child
- Regenerate template.min.css

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 20:55:50 -05:00
57b4c3240e Add hero/banner-overlay CSS variables and wire template.css
- Add HERO / BANNER OVERLAY section to light.standard.css and dark.standard.css:
  --hero-height, --hero-color, --hero-bg-repeat, --hero-bg-attachment,
  --hero-bg-position, --hero-bg-size, --hero-border-bottom,
  --hero-overlay-bg (light: 0.1 alpha / dark: 0.3 alpha),
  --hero-overlay-padding, --hero-overlay-text-align, --hero-overlay-text-color
- Replace all hardcoded values in .container-banner .banner-overlay and
  .overlay with var() references (with fallbacks)
- Fix background-position: comma syntax → correct space-separated single-bg value
- Add css_vars_hero note field to CSS Variables tab in templateDetails.xml
- Add TPL_MOKOCASSIOPEIA_CSS_VARS_HERO_LABEL/DESC to en-US and en-GB
- Regenerate .min files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 20:51:09 -05:00
f0e7ccac6d Add minify build script and generate .min CSS/JS; rename position to brand-aside
Build tooling:
- Add package.json with clean-css and terser dev dependencies
- Add scripts/minify.js: reads joomla.asset.json, auto-detects source/.min
  pairs, and minifies all template-owned CSS and JS files
- Add node_modules/ to .gitignore

Generated .min files (all 6 manifest pairs):
- css/template.min.css      (17.8% saved)
- css/editor.min.css        (49.4% saved)
- css/theme/light.standard.min.css  (13.1% saved)
- css/theme/dark.standard.min.css   (14.4% saved)
- js/template.min.js        (58.2% saved)
- js/gtm.min.js             (62.3% saved)

Rename: header-aside → brand-aside (position, CSS class, language keys)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 20:22:09 -05:00
f0de3bf342 Add header-aside module position to the right of the logo
- New position renders inside .header-brand-wrap, right-aligned via
  margin-inline-start: auto on .container-header-aside
- CSS: .header-brand-wrap uses flexbox so logo stays left, aside floats right
- Registered in templateDetails.xml positions list
- Language strings added to both en-US and en-GB sys.ini files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 20:16:39 -05:00
53ad226a51 Expand CSS Variables tab to full variable reference and add custom-hero class
- Replace 8-field CSS Variables tab with 21 comprehensive sections covering
  all variables from light.standard.css and dark.standard.css
- New sections: Links, Layout & Spacing, Breakpoints, Bootstrap Semantic
  Palette, Bootstrap State Colors, Alert & List Group Colors, Standard
  Colors/Grays/Opacity, Shadows & Shadow Tokens, Buttons, Cards,
  Component & Plugin Colors, VirtueMart, Gable
- Add custom-hero class to hero.php outer div (always present)
- Both en-GB and en-US language files updated

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 20:01:42 -05:00