=== Ariade ===
Contributors: anblik
Author: Shivaji Mitra
Company: M/S. Anblik
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.7.20
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Ariade — a WCAG 2.2 AA Full Site Editing (FSE) WordPress block theme for accessible
professional-services and business websites.

== Description ==

Live demo: https://showcase.ananyoo.com/
Ariade ships accessible header navigation, predesigned, conformant page patterns, and an accessible footer toolkit: a newsletter band,
theme-styled social links (a core Social Icons block turned into brand-magenta
discs that match the footer contact icons, keyboard/focus friendly, no icon font)
and W3C / accessibility verification badges laid out on one clean line — plus a
ready-made "Footer: Connect" pattern that drops the whole Connect column in. A free Ariade companion plugin adds the theme's simple accessible drop-down menu header (keyboard operable, disclosure pattern, ARIA, Escape-to-close, mobile drawer), and the Ananyoo accessibility plugins add a screen-reader-tested carousel, forms and login.
Built by M/S. Anblik (https://ananyoo.com).

== Accessibility ==

Ariade targets WCAG 2.2 Level AA. It is built with semantic HTML, keyboard-
operable components (header navigation and mobile menu), visible focus
indicators, and contrast-checked colours.

The Sitemap page is built from core blocks (Page List, Categories and recent posts) with an ordered H1 > H2 heading structure and list semantics. A richer auto-populated Sitemap block is available in the Ariade companion plugin. Automated tools cover only part of WCAG, so manual keyboard and screen-reader testing (NVDA, JAWS, VoiceOver) on a production install is still recommended.

== Installation ==
1. Upload the ariade folder to /wp-content/themes/ (or install the .zip via
   Appearance > Themes > Add New > Upload Theme).
2. Activate through Appearance > Themes.
3. Set a static front page (Settings > Reading > "A static page") to use the
   Ariade homepage layout, or the front-page template renders it automatically.

== Ariade branding switch ==
Out of the box the theme is neutral: your logo or site title in the header, no
theme mark in the hero, and a plain footer with your site title, tagline, page
list, latest posts and one small "Theme: Ariade" credit. The showcase look
(bundled Ariade logo when no site logo is set, brand mark in the hero, and the
footer with the newsletter band and Theme / Plugins / Company columns) is still
in the theme for demo sites. To switch it on, add this line to a small plugin
or to a child theme's functions.php:

    add_filter( 'ariade_branding', '__return_true' );

The footer template part renders the pattern ariade/footer, which picks the
right footer for the switch. If you have edited the footer in the Site Editor,
use "Reset" on the Footer template part so the theme version loads again.

== Newsletter setup (Mailchimp, MailerLite, Brevo, etc.) ==
The footer (branding switch on) ships a visual newsletter band with an email input and Subscribe
button. That block is a DESIGN PLACEHOLDER and does not submit anywhere on
its own -- themes on wordpress.org are not permitted to integrate with third
party services or store subscriber data, so the actual signup is handled by
a plugin of your choice. The theme styles the plugin form automatically so
it inherits the footer visual (gradient band, white pill input, white pill
button).

We recommend the free Mailchimp for WordPress plugin (500,000+ installs,
GPL, actively maintained). The theme has been tested against its output.
The same slot works with MailerLite, Brevo, Constant Contact and Sendinblue
plugins in the same way -- any form plugin that outputs a standard shortcode
or block can replace the placeholder.

Step by step for Mailchimp for WordPress:
1. Install the plugin from Plugins > Add New. Search for "Mailchimp for
   WordPress" by ibericode. Activate it.
2. In your Mailchimp account, create an API key (Account > Extras > API keys)
   and copy it.
3. In WordPress, go to Mailchimp for WP > Mailchimp, paste the API key and
   save. The plugin will list your audiences.
4. Go to Mailchimp for WP > Form. Create a form, pick the audience, adjust
   the labels if you like. Save. Note the form ID shown on the form list.
5. Go to Appearance > Editor > Template Parts > Footer. Find the newsletter
   HTML block (the visual placeholder with the Email address label and
   Subscribe button). Delete that HTML block. In its place add a Shortcode
   block and paste [mc4wp_form id="XX"] using your form ID.
6. Save the template part. The footer form now submits to Mailchimp with
   the theme's visual language applied automatically.

The theme styles .mc4wp-form inside .site-footer to match the placeholder
exactly -- white pill input, white pill submit button, uppercase eyebrow
label, response messages coloured to fit the gradient band. If you use a
different plugin, add its wrapper class to your child theme with the same
rules; the source rules live under the "Mailchimp for WordPress (mc4wp)
integration" comment in /assets/css/theme.css.

Contact form: the contact page patterns include a similar placeholder slot.
We recommend the free Ananyoo Accessible Forms plugin
(https://wordpress.org/plugins/ananyoo-accessible-forms/) for a WCAG 2.2 AA
form with labels, focus states and announced errors. Drop its shortcode or
block in place of the placeholder paragraph the pattern ships with.

== Cover images ==
Recommended size for a blog post cover (featured image): 1600x900 pixels, 16:9. The blog cards (posts loop)
and the default single-post header (aurora) both show covers in a 16:9 box, so a 16:9 cover is never
cropped anywhere in the theme. Any other shape is centred and trimmed by object-fit: cover, so keep
logos, badges, faces and text inside the middle 80 percent of the picture; that also protects the image
when social networks crop the preview to 1.91:1 (1200x630). Your SEO plugin can set a separate share image
if the cover carries a badge near an edge. To use another ratio site-wide, open Site Editor > Templates >
Single Posts, select the Featured Image block and change its Aspect ratio; the editorial (21:9), split and
cover single-post layouts keep their own framing.

== Fonts ==
Barlow Semi Condensed and Geist are bundled in /assets/fonts and registered
through theme.json (fontFace), so no font is loaded from Google Fonts or any
other remote server. Nothing leaves the visitor's browser to fetch a font.


== Copyright ==

Ariade WordPress Theme, Copyright 2026 Shivaji Mitra (M/S. Anblik)
Ariade is distributed under the terms of the GNU GPL v2 or later.

This theme bundles the third-party resources listed below; every one of them is
GPL-compatible.

== Images / illustrations ==
All images in assets/images are original works by the theme author, Shivaji Mitra
(M/S. Anblik, https://ananyoo.com), and are released under CC0-1.0 / GPL-2.0-or-later:
* Photographic images (hero-*.webp, portrait-*.webp, product-*.webp) were created by the
  theme author using Adobe Firefly (Adobe's commercially safe image models).
* Remaining vector artwork (*.svg) is original flat illustration by the theme author.
No third-party or stock photography is bundled in the theme.

== Bundled fonts ==

* Barlow Semi Condensed — Copyright 2017 The Barlow Project Authors (https://github.com/jpt/barlow). Licensed under the SIL Open Font License 1.1 (assets/fonts/OFL-BarlowSemiCondensed.txt).
* Geist — Copyright 2023 Vercel, in collaboration with basement.studio. Licensed under the SIL Open Font License 1.1 (assets/fonts/OFL-Geist.txt).

== Changelog ==

= 1.7.20 =
*   Outline buttons keep readable text on hover. The theme's button hover
    colour was being overridden by WordPress core's outline style, which
    keeps the background transparent, so hovering an outline button turned
    its text white on a pale background. Outline buttons now fill with
    violet and white text on hover, at 7.1:1 contrast, matching the solid
    buttons.

= 1.7.19 =
*   Desktop menu labels no longer break across two lines: two-word items such
    as "Case Study" stay on one line. Between 1081 and 1320 pixels wide the
    top-level menu uses slightly tighter spacing and text so it still fits
    beside the header buttons. Tested with six and eight item menus from 1081
    to 1440 pixels: no wrapping, no overlap and no sideways scrolling. This
    also fixes long menus that overflowed the header just above the drawer
    breakpoint. Dropdown items still wrap as before.

= 1.7.18 =
*   Removed the SEO plugin detection that removed WordPress core's title
    renderers (_wp_render_title_tag and _block_template_render_title_tag).
    Title handling is plugin territory: the theme now relies only on
    add_theme_support( 'title-tag' ), and SEO plugins manage their own
    titles. Requested in theme review ticket #290699.
*   The blog page template's "Nothing found." message is now translatable. It
    was typed straight into the HTML template; it now comes from a small
    hidden pattern, ariade/no-results, like the other query loops.
*   Removed the "Verified" W3C badges from the footer connect pattern. The two
    badge images were loaded from w3.org rather than bundled, they are W3C
    trademarks that cannot ship under the GPL, and a theme cannot promise WCAG
    2.2 AA conformance for every site that uses it, since conformance depends
    on each site's own content.
*   Inline scripts and styles now go through WordPress's own functions
    instead of raw script and style tags: the checkout autocomplete fix and
    the recommended-plugins notice script use wp_print_inline_script_tag(),
    and the notice styles are added with wp_add_inline_style().

= 1.7.17 =
*   Page intros are no longer cut off mid-sentence. The page hero shows the
    page's excerpt as its intro, but capped it at 30 words, and the services,
    service detail, portfolio and blog page headers capped theirs at 40, so any
    longer intro ended with "..." in the middle of a sentence. All five now
    allow 100 words, which shows a normal written intro in full. The short
    post previews on blog listings keep their deliberate word limits.

= 1.7.16 =
*   A Licence card on the Ariade dashboard. It names the copyright holder and
    the GNU GPL v2 or later, says plainly that the theme, the blank child
    starter, the companion plugins and every Ananyoo accessibility plugin carry
    the same licence, and links to the full statement. Anybody who installs the
    theme can now read the licence without leaving their own dashboard.
*   No change to any template, pattern, style or front-end output.

= 1.7.15 =
*   The WooCommerce variations table is printed without the obsolete cellspacing
    attribute. WooCommerce still ships it and the W3C checker reports it as
    obsolete. The theme now wraps WooCommerce's own callback and removes just
    that one attribute, rather than copying the template, so future WooCommerce
    releases keep working unchanged. Spacing is already zero from stylesheet
    rules, so the table looks exactly the same.

= 1.7.14 =
*   Duplicate id on the product gallery. The main product image carried
    id="ariade-gallery-main-img", and WooCommerce can render that template more
    than once on a single product screen, which produced two elements sharing an
    id. The id is dropped; the matching class stays, and the gallery script now
    looks the image up by class inside the .ariade-gallery it is already scoped
    to, so behaviour is identical and the collision cannot happen again.

= 1.7.13 =
*   Valid markup on the WooCommerce screens. Three faults, all the theme's own:

    A heading cannot live inside a span. A span only takes phrasing content, so
    <span><h2>...</h2></span> is an error and the checker stops reading that
    subtree, hiding anything below it. The wrapper is now a div in the product
    details band, the reviews band, the account band, the cart band and the
    services ledger. Every one of those wrappers sits in a flex or grid
    container, where children are blockified either way, so nothing moves by a
    pixel. The services ledger also held a <p> inside that span, which was
    invalid for the same reason and is now fixed by the same change.

    Duplicate id="reviews" on the product page. The theme's reviews section
    carried it, and so does WooCommerce's own markup printed inside it by
    comments_template(). The theme's copy is removed. Links to #reviews still
    land in the right place, on WooCommerce's element inside the section.

= 1.7.12 =
*   The pagination fix from 1.7.11 now also covers pagination that does not come
    from the core block. WooCommerce renders shop pagination through its own
    woocommerce_pagination(), which calls paginate_links() directly, so the
    render_block filter never saw it and /shop/ still failed validation while
    /blog/ passed. Hooking paginate_links_output catches both.

= 1.7.11 =
*   Valid pagination markup. WordPress core's Query Pagination Numbers block
    marks the current page as a span carrying aria-label. A span has an implicit
    ARIA role of generic, and ARIA does not allow aria-label on generic, so the
    W3C Nu checker reports an error on every paginated archive of every block
    theme. Ariade now removes that one attribute.

    Nothing is lost for assistive technology: the state is still on
    aria-current="page", the page number is still the visible text, and the
    control sits inside an already-labelled nav element. aria-label on the
    sibling page links is untouched, because those are anchors with role link,
    where aria-label is valid.

= 1.7.10 =
*   Valid HTML: exactly one <title> element in <head>, on every page.

    Cause, confirmed by inspecting the live wp_head hook list rather than by
    assumption: WordPress renders the title through TWO different callbacks.
    Classic themes use _wp_render_title_tag; block themes use
    _block_template_render_title_tag. SEO plugins that print their own <title>
    remove the classic one and leave the block one in place. On a block theme
    like Ariade that produces two <title> elements.

    Two titles is invalid HTML. The parser rejects the second, implies the end of
    <head>, then treats the real <body> as a duplicate, so nothing after that
    point is checked at all. It also puts WCAG 2.4.2 Page Titled (Level A) at
    risk, since assistive technology and search engines are left choosing between
    two competing titles.

    Ariade now stands both renderers down when Rank Math, Yoast, AIOSEO, SEOPress
    or Slim SEO is active, and leaves both alone when none is. title-tag support
    stays declared, because core does not add it to block themes automatically
    and a standalone Ariade install still needs core to produce the title.
    Filterable via ariade_seo_plugin_owns_title.

    Timing matters here: the removal runs on wp_head at priority 0, not on
    template_redirect. Core registers _block_template_render_title_tag inside
    locate_block_template(), which runs on template_include, after
    template_redirect - so removing it earlier silently does nothing.

= 1.7.7 =
* Added accessibility.txt in the theme root. Since 30 June 2026 the WordPress accessibility-ready guidelines require every accessibility-ready theme to ship this file, in the WordPress theme accessibility readme standard. Ariade did not have it. The file states the audit status and date, the standard and conformance level, the tools and methodology used for both automated and manual testing, the screen reader text class, the accessibility features the theme provides, and where to ask for help or report an accessibility problem.

= 1.7.6 =
* The large "404" is now part of the page heading instead of a paragraph styled to look like one. It sits inside the h1 as a span with role="img" and the label "Error 404", so a screen reader announces "Error 404" and then the sentence, and WAVE no longer reports a "possible heading". The layout is unchanged.
* The search box on both 404 patterns showed the literal text "Search this site&hellip;" as its placeholder. A block attribute is plain text, so the HTML entity was printed as written. It now uses the character itself.
* The navy 404 pattern gained a proper h1. Its headline was a paragraph, so a site using that pattern had a 404 page with no heading at all. It is now the same h1 used by the other 404 pattern.

= 1.7.5 =
* No text below 12px anywhere in the theme. Card dates, badges, chips, pills, meta lines and small labels used to sit between 9.6px and 11.8px (0.6rem to 0.74rem). Every one of them is now 0.75rem (12px), so WAVE no longer reports "very small text" and the small print is comfortable to read at the default zoom.
* The site title is now a real heading (h2) in the header and in the footer, instead of a paragraph styled to look like one. The single h1 on a page still belongs to the page content, and the heading order stays valid: h2 site title, h1 page heading, then h2 sections. This clears the "possible heading" alert WAVE reported on every page.

= 1.7.4 =
* The recommended-plugins notice stays on the screens where it belongs. It used to appear on every admin page until it was dismissed; it now shows only on the Dashboard, Appearance > Themes, and the Plugins screens, and it is still dismissible for good.

= 1.7.3 =
* The theme dashboard no longer writes anything when it is only being viewed. Opening Appearance > Ariade used to keep the "Ariade Primary" menu in sync on every page view, which meant a plain page request could create a menu and save a theme setting. The menu is now synced only after a starter page has actually been created from the button, so viewing the screen changes nothing.

= 1.7.2 =
* One <main> landmark on WooCommerce pages. The shop and product templates provide <main id="main"> (WordPress needs it to print the skip link), and WooCommerce printed a wrapper with a second <main id="main" class="site-main"> around the classic templates. A shop page therefore had two main landmarks and a repeated id. WooCommerce's wrapper is now removed on those pages and the shop width rule moved to the template's own main.

= 1.7.1 =
* Front page now follows Settings > Reading, as WordPress promises. A site set to "Your latest posts" shows the posts; the starter home page is added as a normal page from Appearance > Ariade ("Add Home page") and chosen as the static front page. It no longer takes over the front page by itself.
* Pages show their comments. WordPress requires themes to display comments on static pages as well as on posts; the four page templates now include the Comments block.
* Comment list rebuilt: avatar, author, date, edit link, threaded replies with an indent rule, reply link, and comment pagination, all from core blocks and styled by the theme. Comments by the post author are marked with a small brand dot.
* Wide content no longer pushes the page sideways. Preformatted text, tables, classic captions, embed URLs and very long words stay inside the content column; a box that scrolls sideways gets tabindex="0" from a small script (assets/js/scroll-region.js) so keyboard users can reach the hidden part, with a visible focus ring.
* Navigation markup is now a single valid list. WordPress wraps a Page List inside the Navigation block's own list, which puts a <ul> directly inside a <ul>; the theme merges the two so screen readers count the items correctly. The filter does nothing once core emits one list.
* Blog heading takes the real Posts page title from Settings > Reading (it always said "Blog" before) and the site tagline as the sub-line.
* Page hero prints the excerpt only when the page has a hand-written one, instead of repeating the opening lines of the page under the title.
* Footer: column headings are h2 (an h3 under the page h1 skipped a level) and the page list is a plain list of top-level pages, without submenu arrows.
* Post cards with no featured image no longer show an empty grey box: the lead card uses the brand gradient and the category chips sit inside the card. A post with many categories can no longer cover the card title.
* Post navigation with a very long post title stays inside the screen on small devices.
* Checked against the WordPress Theme Unit Test data (167 views, desktop and mobile, WP_DEBUG on): no PHP notices, one h1 per view, one skip link, no horizontal scrolling, and axe-core reports no theme accessibility violations.

= 1.7.0 =
* WordPress.org review round (ticket 282312), all points addressed:
* Skip link: the theme no longer prints its own "Skip to content" link, and the output buffer that tried to strip WordPress's copy is gone. WordPress prints the block-theme skip link itself whenever a template has a <main> element, which every Ariade template now has (the WooCommerce shop and product templates were the two without one). style.css restyles that link when it receives focus, undoes the screen-reader clipping so it is actually visible, and keeps it below the admin toolbar (32px, 46px on small screens). One skip link per page, always visible on focus.
* Translation: every remaining user-facing string in the pattern files is now translation-ready (esc_html_e, esc_attr_e for alt and aria-label text, wp_kses_post( __() ) where a sentence carries inline markup), 343 strings across 70 patterns. Nothing changes on screen.
* Theme URI now points at the theme's own page, https://ananyoo.com/ariade-accessible-wordpress-theme/, which also carries the licence statement: everything M/S. Anblik distributes for WordPress is GPL v2 or later.
* Readme: copyright and licence block added; the fonts note corrected (both families are bundled and registered through theme.json, nothing loads from Google Fonts).
* Screenshot replaced with a plain capture of the theme with placeholder content; no promotional text or feature list on it.
* Neutral by default: a fresh install no longer carries Ariade branding on the front end. The header shows the site's own logo or title (no bundled default logo), the hero has no theme mark, the starter home page uses placeholder copy about the site owner with the theme dashboard and Site Editor buttons shown only to logged-in editors, and the footer is a plain site footer: site title and tagline, page list, three latest posts, copyright line and a single theme credit link. The Ariade showcase footer (newsletter band, Theme / Plugins / Company columns) and the brand marks are kept in the theme for demo sites and switch on with one filter, add_filter( 'ariade_branding', '__return_true' ), documented under "Ariade branding switch" below. The footer template part now renders the registered pattern ariade/footer, so both footers share one code base.

= 1.6.12 =
* Fix: the coming-soon and 404 styles were attached with "class contains" selectors ([class*="ariade-cs-"] and [class*="ariade-nf-"]), so any other class starting the same way, for example a child theme's ariade-cs-lead or ariade-cs-btn on a case-study page, silently inherited centred text, centred buttons and the narrow search box whenever the utility stylesheet was on the page. The four pattern classes (ariade-cs-gradient, ariade-cs-thread, ariade-nf-thread, ariade-nf-navy) are now named explicitly, so nothing else can match by accident.
* Fix: the front-page testimonial carousel styled a bare .dots class as a flex row. WordPress pagination prints its ellipsis as <span class="page-numbers dots">, and plugins may use the same class name, so both picked up the carousel layout. The rule is now scoped to .carousel-controls .dots; the carousel itself is unchanged.

= 1.6.11 =
* Blog post header (aurora): the cover box is now 16:9 instead of 3:2, the same ratio the blog cards (posts loop) already use. One cover size, 1600x900, therefore shows uncropped everywhere in the theme, and the two most common image sizes lose far less: a 1200x630 social image now loses about 3 percent per side (it lost 10 percent before) and a 16:9 photo or screenshot loses nothing. A 3:2 photo loses about 12 percent at the top and bottom instead of nothing, so sites that standardised on 1200x800 covers can keep 3:2 by changing the Aspect ratio of the Featured Image block in the Single Posts template (Site Editor). A new "Cover images" section in this readme explains the safe area for logos, badges and text.
* Site Editor note: if the Single Posts template was customised on a site, use "Clear customizations" on it once so the updated aurora pattern loads.
* Tested up to WordPress 7.1.

= 1.6.10 =
* Fix (module split): the Grid/List view toggle is added to listings by script, so its styles now live in the core file and reach the shop and portfolio pages too; the posts page kept its slim header (the .blog .wrap rule moved back before the header rule); the cart band margin rule moved into the WooCommerce file so it prints after the band's base rule as before.

= 1.6.9 =
* Fix: a stray closing brace at the very end of theme.css (after the author box styles) made browsers drop whichever rule came next in the combined stylesheet. In 1.6.8 that was the first rule of the contact module, so contact form labels lost their small-caps style. The brace is gone and the author name underline rule sits inside the forced-colours block it was written for, so the author box name keeps its violet underline in normal mode.

= 1.6.8 =
* Performance: the theme stylesheet is split. theme.css now carries only what every page needs (header, navigation, footer, hero band, typography, buttons and content rhythm; about 47 KB before compression) and thirteen module files carry the rest: landing sections, blog, WooCommerce, about, portfolio, services, FAQ, service detail, pricing, testimonials, utility pages, theme features and contact. A module is added to the page only when the page renders a block that uses its classes, or when the template calls for it (posts and archives, portfolio, search, 404, sitemap, shop, cart, checkout and account). A typical inner page now loads about a quarter of the CSS it did before; the rules themselves are unchanged. The editor still loads every module so inserted patterns preview correctly.
* The WooCommerce stylesheet also loads only on shop, product, cart, checkout and account pages, or on pages that render WooCommerce blocks, instead of on every page when WooCommerce is active. The header cart badge rules moved into the core file so the badge is styled everywhere.
* Site Editor note: no template change is needed. If a caching or optimisation plugin combines CSS files, clear its cache once after updating.

= 1.6.7 =
* Images keep their proportions when WordPress adds width and height attributes to them. The team portraits on the front page pattern were stretched to 800px tall after a WordPress update started adding those attributes; the base image rule now sets height to auto so aspect-ratio and object-fit rules apply as designed.

= 1.6.6 =
* Links in running text now take the colour and weight of the text around them and are marked by the underline alone, with a slightly thicker underline on hover. The bold blue links pulled the eye away from the sentence. Buttons, menus, cards and other components keep their own styles, and the same setting shows under Styles > Links in the Site Editor.

= 1.6.5 =
* The header now keeps the mobile drawer until the desktop row genuinely fits. Once a menu had a few items the nav and the header icons ran past the header between roughly 980px and 1075px, which gave the page a sideways scrollbar on small laptops.
* Em dashes removed from the theme's own copy and from the pattern labels, so the shipped wording reads in plain sentences.

= 1.6.4 =
* Images now carry their real width and height. Core only fills these in for images that hold a wp-image class, so pictures written by hand in HTML blocks or template parts, and pictures produced by some core and third party blocks, were served with no intrinsic size and the page shifted as each one arrived. The theme now reads the size once per file, caches it for a day, and adds the attributes at render time. Root relative sources such as /wp-content/themes/... are resolved, and SVG is measured from its own viewBox.

= 1.6.3 =
* Blog toolbar: the filter label and its dropdown now sit side by side. WordPress ships a rule that forces the Categories label to full width, so the select dropped to a second line; the theme now matches that rule's specificity. On phones the label and select still stack full width.

= 1.6.2 =
* Blog and archive listings: the category filter and the Grid/List view switch now share one toolbar row above the posts - filter on the left, view switch on the right - instead of sitting on two separate lines. On phones they stack and the dropdown goes full width.
* Accessibility fix: the filter used a separate paragraph reading "Filter by category" while WordPress printed its own visible "Categories" label for the dropdown. Two labels showed, and the visible text was not the select's accessible name (WCAG 2.5.3 Label in Name). The dropdown now carries "Filter by category" as its own real label, so there is one label, correctly tied to the control.
* The filter moved from the blog hero (ariade/blog-heading) into the listing toolbar (ariade/posts-loop), so every listing that uses the shared loop - the blog index, the posts page and category archives, including sites whose child theme builds its own blog header - gets the filter and the view switch together. Site Editor note: if the Blog or Archive template was customised on a site, use "Clear customizations" once.

= 1.6.1 =
* Author box: on a site where the author profile has no biography, the box no longer prints at all - previously it showed a panel holding only a user name, and gave screen-reader users a landmark and heading that led to nothing. It appears by itself as soon as a biography is saved in Users > Profile > Biographical Info. Developers can force it with the ariade_require_author_bio filter.

= 1.6.0 =
* Author box: new "navy band" design - the box now sits on the theme navy (#0e1b36) with a brand-gradient top line and a soft violet glow, white name, light-slate biography (13:1 contrast) and white links with a lavender underline. Windows High Contrast mode gets a plain bordered box with system colours. Same accessible structure as before (aside landmark, heading, real text, visible focus rings).

= 1.5.9 =
* Author box: quieter styling - white card instead of the tinted one, smaller type (name 1.05rem, biography .88rem, heading .7rem) and an 80px avatar (64px on phones), so the box sits under the article without competing with it. Contrast is unchanged: navy and slate text on white stay above 7:1.

= 1.5.8 =
* Author box: the author name is no longer a link by default. Many sites switch author archives off (Rank Math and similar plugins then redirect /author/... to the home page), which turned the name into a link that silently went to the home page - poor link purpose for screen-reader users. Put a link to your About page inside the biography text instead, or set "isLink":true on the name block in the Site Editor. Links inside the biography now carry the theme's navy/violet link styling and focus ring.

= 1.5.7 =
* New: "About the author" box on every single-post template (ariade/post-author-box) - avatar, author name linked to the author archive, and the biography from Users > Profile, shown after the post content and before the previous/next navigation. Plain core blocks inside an aside landmark with its own heading, so screen-reader users can jump to it; nothing is hidden or duplicated (the avatar is not a second link). Empty-safe when a profile has no biography. Also available in the inserter under Ariade - Single post for custom templates. Supports E-E-A-T author signals for search engines alongside the Rank Math Person schema.
* Site Editor note: if the Single Post template was customised on a site, use "Clear customizations" on it once so the new author box loads.

= 1.5.6 =
* Fix: the "Posts page" chosen in Settings > Reading (for example /blog/) showed the starter home page instead of the blog listing. WordPress uses the same "home" template for a fresh site's latest-posts front page and for a dedicated posts page; the template now goes through a small render-time router pattern (ariade/home-router) that shows the blog heading and the shared posts loop on a dedicated posts page, and the starter home page only when the front page itself shows latest posts. Sites that had worked around this with a customised "Blog Home" template can keep it or use "Clear customizations" to pick up the theme version.

= 1.5.5 =
* Blog post header (aurora): the featured image is now an "overlap card" - it rises about 10rem into the gradient band at wide width (960px) with a white ring and a deep navy shadow, so it reads as part of the hero instead of a small picture below it. The band grows to make room; on phones the overlap and ring reduce. Cover aspect ratio changed from 21:10 to 3:2 so a standard 1200x800 cover is not cropped.
* Blog post H2 headings: new "tinted panel" style - 34px / weight 700 on a soft lavender band fading to the page colour, with a 6px brand-gradient edge. Navy text on the tint is 15:1 (WCAG AAA); the gradient is decorative only, and Windows High Contrast mode gets a solid border instead. Portfolio H2s keep their existing accent bar.
* Site Editor note: if the Single Post template was customised on a site, use "Clear customizations" on it once so the updated aurora pattern loads.

= 1.5.4 =
* Docs: corrected the navigation wording. Ariade's header menu is a simple, WCAG-friendly drop-down menu (disclosure pattern) - earlier descriptions mislabelled it as a "mega-menu". No functional changes.

= 1.5.3 =
* New page template, "Full width, no header" (page-no-header): renders the page content and footer without the site header, for full-bleed hero layouts such as a carousel landing page. Registered in theme.json and available in the page Template picker.

= 1.5.2 =
* The default-favicon feature has moved out of the theme into the Ariade companion plugin, so the theme no longer outputs any favicon markup (this clears the last Theme Check favicon notice). A standalone install now uses the site's own Site Icon (Appearance → Customize → Site Identity); the companion plugin restores the bundled default icon for fresh installs. The now-unused favicon-32.png, favicon-192.png and apple-touch-icon.png files were removed from the theme.

= 1.5.1 =
* Docs: the theme description and readme now describe the standalone theme accurately — accessible header navigation ships in the theme, while the accessible drop-down menu header and the auto-populated Sitemap block are provided by the Ariade companion plugin. No functional, template or style changes.

= 1.5.0 =
* WordPress.org compliance — plugin-territory functionality has been moved out of the theme so it passes Theme Check for the theme directory. The four dynamic blocks (site-header, primary-nav, header-actions and sitemap) are no longer registered by the theme; they ship in the Ariade companion plugin, which restores the accessible drop-down menu header and the auto-populated sitemap. The base theme now builds its header from the core Navigation block and its Sitemap page from core blocks (Page List, Categories and recent posts), so a standalone install stays fully functional and accessible with no plugin required.
* Footer brand logo is now the registered pattern `ariade/footer-logo` (a pattern is PHP, so it resolves the theme URI) instead of a shortcode — the theme no longer calls `add_shortcode()`.
* Removed the bundled `favicon.ico` from the theme. A site's own Site Icon (Appearance → Customize → Site Identity) is used when set; otherwise the theme still supplies default PNG icons.

= 1.4.76 =
* Fix (footer social links feature): the footer Social Icons row now always lays out horizontally, even when a child theme styles its footer `<ul>` link lists as a vertical flex column (a common pattern). The `.footer-socials` / `.site-footer .wp-block-social-links` rule now sets an explicit horizontal, wrapping flex direction, so the icons sit in a neat row rather than stacking.

= 1.4.75 =
* New feature — footer social links + verification badges. The theme now styles the core **Social Icons** block for the footer automatically: drop one into the footer (or add the `footer-socials` class anywhere) and each icon becomes a brand-magenta glyph on a soft-magenta disc, matching the footer contact icons, with an accessible hover/focus state and visible focus ring. All labels, keyboard support and per-service SVG icons come from the core block, so social links are added, reordered and removed with no code and no icon font. A companion row style, `.footer-w3c`, lays out W3C / accessibility verification badges on one clean line with no card behind them. A ready-made pattern, "Footer: Connect (social links + verified badges)", drops a complete Connect column (social icons + Verified badges) into any footer. Everything respects prefers-reduced-motion and Windows High Contrast.

= 1.4.74 =
* Fix: a stray horizontal scrollbar could appear at the bottom of the window on pages that use a full-bleed section (for example the aurora hero, or any width:100vw / .alignfull row). Because 100vw includes the width of the vertical scrollbar, the document ended a few pixels wider than the viewport. The root element is now clipped on the X axis (overflow-x: clip), which removes the stray scrollbar without affecting vertical scrolling or sticky headers (clip, unlike hidden, creates no scroll container). Applies site-wide via theme.css, so child themes inherit the fix too.

= 1.4.73 =
* Fix: search pagination hover was leaving the "Next" (and other) links with white text on a pale background — effectively invisible — on hover. An older, more specific pagination rule (a :hover:not(.current) light background) was outranking the new centred pagination's hover, so the background stayed light while the text turned white. Removed that stale rule; hover/focus now correctly show the navy ink fill with white text and a visible focus ring.

= 1.4.72 =
* Search results pagination: the search template's pagination (the_posts_pagination) was inheriting the browser/core default — left-aligned and small — unlike the blog and shop query-pagination, which are centred. It is now centred, given clear spacing above and below, and sized to a comfortable 48px tap target (meets WCAG 2.5.5 Target Size, AAA), so it matches the other paginations across the theme. Current page and hover/focus use the navy ink fill with a visible focus ring.

= 1.4.71 =
* Inner-page header consistency: the Sitemap and Search hero titles now render exactly like every other inner-page title — the display font (Barlow Semi Condensed), uppercase, weight 700, sized by --ariade-page-title-size — instead of their own smaller mixed-case style, and the Sitemap lead now matches the standard 1.35rem excerpt. The decorative "SITEMAP" / "SEARCH" eyebrow line was removed from both so the header is simply one H1 title plus a sub-line, identical in structure to the rest of the site.

= 1.4.70 =
* New block: Ariade Sitemap (ariade/sitemap). The HTML sitemap is now a dynamic, configurable block instead of a fixed pattern, editable entirely in the block Settings sidebar — no code, no settings screen. Options: which content types to list (Pages, Blog, Products, Portfolio); columns (auto or 1-4); list marker (Dot, Square, Dash, None, or a custom character/emoji); show or hide item counts; and how large catalogues are handled. For big shops there are two review-safe strategies: "Cap and link to archive" (each category shows the first N items then a crawlable "View all NN in {category}" link out to its archive) or "Numbered pages" (each type card paginates with numbered, bookmarkable links via a per-type query var). All output is server-rendered, escaped and WCAG-friendly (semantic lists/headings, visible focus rings). The page-sitemap template and the "Sitemap" pattern now insert this block, so the markup lives in one place (blocks/sitemap/render.php).
* Accessibility: the Sitemap block was audited with axe-core 4.13 (the engine behind Lighthouse and the Deque axe extension) at WCAG 2.0/2.1/2.2 A + AA and returned 0 violations across 17 automated checks — ordered headings, list semantics, aria-labelledby sections, a nav[aria-label] paginator with aria-current, decorative-only markers and visible focus rings. See the Accessibility section above.

= 1.4.69 =
* Inner-page headers: the Sitemap and Search headers now use the SAME light patterned hero as every other inner page (About, Blog, FAQ, etc.), instead of the brand-gradient band. The hero surface (soft lavender wash, thread-pattern overlay, centred title) is now defined once and shared by .ariade-page-hero, .ariade-sitemap-hero and .ariade-search-hero, so all inner-page headers read as one family and the look is edited in a single place. The Search hero keeps its live result count and inline search form (the input now carries a visible border and a brand-purple focus ring for the light background); the Sitemap hero keeps its "Everything on this site" title and lead. No markup or functionality changed — presentation only. WCAG AA contrast preserved (navy title 12:1, purple eyebrow 5.6:1 on the wash).

= 1.4.68 =
* Inner-page headers: added a single pair of controls for the hero band padding — the custom properties --ariade-hero-pad-top and --ariade-hero-pad-bottom, the companion of the --ariade-page-title-size control from 1.4.66. Every inner-page hero now reads its top clearance from --ariade-hero-pad-top, and the band-style heroes (the page / archive / blog hero band, its slimmer checkout variant, the aurora single-post band and the WooCommerce cart title band) also read their depth below the text from --ariade-hero-pad-bottom; the editorial, split and cover single-post layouts take the top control. Each rule falls back to the exact value it used before, so the theme is visually identical out of the box; define the pair once on a site (child theme style.css or Appearance > Editor > Styles > Additional CSS) and EVERY hero takes the same vertical rhythm together — no per-page CSS anywhere. The front page is never affected (its hero is its own design). The control is stylesheet-level, so it also applies where a template was customised in the Site Editor — no "Clear customizations" step needed. Example: :root{ --ariade-hero-pad-top: 80px; --ariade-hero-pad-bottom: 20px; }
* Housekeeping: readme Stable tag brought back in step with the theme version (it had stayed at 1.4.66 through the 1.4.67 release).

= 1.4.67 =
* Breadcrumbs: fixed the Events entry in the breadcrumb Customizer toggles still using the events plugin's old post type slug (aae_event) — since Ananyoo Accessible Events 1.4.1 the type is ananevt_event, so the "show the trail above the hero title" toggle could never take effect for single events. With the toggle on, events now show the trail in the hero above the title, exactly like posts and pages. (The events plugin 1.4.9+ detects this and suppresses its own fallback trail, so it never shows twice.)

= 1.4.66 =
* Inner-page headers: added a single control for the hero title size — the custom property --ariade-page-title-size. Every inner-page title now reads its size from this one property: single posts (all four layouts — aurora, editorial, split, cover), pages, archives, and the Accessible Events banner. Each falls back to the size it used before, so the theme is visually identical out of the box; define the property once on a site (child theme style.css or Appearance > Editor > Styles > Additional CSS) and EVERY inner-page title changes together — no need to restyle each page type separately. The front page is never affected (it has no hero title block). Example: :root{ --ariade-page-title-size: clamp(1.6rem,4.8vw,2.3rem); }

= 1.4.65 =
* Breadcrumbs: the current page is now marked correctly. Rank Math can carry a self URL on the current term, which made 1.4.64 render the last crumb as a link; the theme now decides the current item by position, so it renders as a non-link with aria-current="page" as intended.
* Breadcrumbs: the current-title de-duplication on detail pages no longer depends on Rank Math leaving the current crumb unlinked — the trailing current crumb is always dropped, so detail pages reliably end at the parent.
* Breadcrumbs: the "section listing page" step now also finds a listing that lives on an ordinary Page — a /blog/ or /events/ page (posts index, or the [ananevt_events] shortcode) — when no static Posts page or post-type archive is assigned, so those sites still get the Home > Blog > … / Home > Events > … step. WooCommerce Shop unchanged.

= 1.4.64 =
* Breadcrumbs: rebuilt as a semantic, accessible list. The theme now renders the trail itself from Rank Math's data — <nav aria-label="Breadcrumb"> > <ol> > <li>, with the current page marked aria-current="page" and the "›" divider drawn as a decorative CSS ::before (never in the DOM text, never read aloud). On detail pages the trailing crumb — which only repeats the H1 — is dropped so the trail ends at the parent; archive listings keep their term as the current item. Filterable via `ariade_breadcrumb_drop_current`.
* Breadcrumbs: the panel now adapts to its hero automatically — a soft light panel by default, and a translucent light-on-dark panel inside a dark hero (.ariade-sp-aurora) or any .dark-scope wrapper — so a dark-themed site needs no custom breadcrumb CSS at all. WCAG 2.2 AA in both light and dark.

= 1.4.63 =
* Breadcrumbs: new "Show the section listing page" option (Appearance > Customize > Breadcrumbs, on by default). It adds each content type's own listing page as a step in the trail so visitors can move one level up — Home > Blog > Category, Home > Events > (event), Home > Shop > (product) — using the static Posts page, a post type's archive and the WooCommerce Shop page automatically. Built on Rank Math's official breadcrumb-items filter, so it stays Rank Math-driven and keeps the breadcrumb schema; it never repeats a step a plugin already added (e.g. WooCommerce's own Shop crumb). Filterable via `ariade_breadcrumb_listing_crumb` to point a content type at a different listing page or relabel it.

= 1.4.62 =
* Breadcrumbs: fixed the divider showing twice ("//") between crumbs. Rank Math wraps the theme's separator in its own <span class="separator">, so passing a separator that also carried the "separator" class produced two nested .separator spans and the theme painted the ".separator::before" divider on both. The separator glyph is now a neutral aria-hidden span, so exactly one divider renders. Decorative-only, still hidden from assistive technology.

= 1.4.61 =
* Breadcrumbs: rebuilt Appearance > Customize > Breadcrumbs into a full control panel (still Rank Math-driven). A master "Enable breadcrumbs everywhere" switch turns them on across the whole site; or enable/disable each area individually — Detail pages (Blog posts, Events, Portfolio / Case studies, Products, Pages) and Archive / listing pages (Category archives, Tag archives, Search results, and other archives). Every option can be toggled on or off independently; the master switch overrides the individual ones.
* Breadcrumbs now also render on archive listings (category, tag, search and other archives) above the query-title, using the same Rank Math data and .ariade-breadcrumb markup as single views — fixing the gap where archives had no breadcrumb because they render core/query-title rather than the singular post-title block.

= 1.4.44 =
* Breadcrumbs: added an Events toggle so single Event pages (from the Ananyoo Accessible Events plugin) can show the Rank Math breadcrumb trail, alongside the existing Blog, Portfolio, Products and Pages toggles in Appearance > Customize > Breadcrumbs.

= 1.4.43 =
* Blog: added an accessible "Filter by category" dropdown at the top of the posts index, using the native WordPress Categories block (navigates to the category archive). Presentation-only; no plugin-territory code added.

= 1.4.42 =
* Kept the theme strictly presentation-only for the WordPress.org theme directory: removed the two event templates added in 1.4.41 (single-ae_event.html, archive-ae_event.html), as event functionality belongs in a separate plugin, not the theme. The wider content width from 1.4.40 is retained.

= 1.4.40 =
* Layout: widened the default content width from 760px to 1180px, so ordinary pages use the same spacious width as the Home and Shop pages instead of a narrow, squeezed column. Wide/Full-aligned sections (1200px) are unchanged.
* Readability: single blog-post article text is now pinned to a comfortable 760px reading width (single.html, single-editorial, single-split), so widening the global content width does not stretch long-form body text beyond a readable line length (WCAG 1.4.8). The immersive cover post template keeps its existing 720px measure.

= 1.4.39 =
* Footer styling brought in line with the ananyoo.com footer (style only, content unchanged): column headings are now .95rem / weight 600 with a 1.2rem gap below; footer links are .82rem in #e1e9f9; and the bottom bar is .82rem.

= 1.4.38 =
* Added a "Sitemap" link (-> /sitemap/) as the fourth item in the footer "Theme" column. The column now reads: Accessible themes, Accessible Plugins, Pattern Library, Sitemap.

= 1.4.37 =
* Footer "Theme" column tidied: removed the Features and Changelog links (no dedicated pages), renamed "Plugins" to "Accessible Plugins" (-> /plugins/), and added "Pattern Library" (-> /patterns/) at the bottom. The column now reads: Accessible themes, Accessible Plugins, Pattern Library.

= 1.4.36 =
* New theme screenshot using the refreshed Ariade "ad" logo, with a PARENT pill so it reads clearly against the child theme in Appearance -> Themes. No functional change; bundles the 1.4.35 footer link fix.

= 1.4.35 =
* Footer link columns (Theme / Plugins / Company) now point to real pages instead of placeholder "#" anchors: Accessible themes -> /themes/, Plugins & All plugins -> /plugins/, Accessible Carousel -> /accessible-carousel/, Accessible Login -> /accessible-login/, About -> /about/, Case study -> /accessible-portfolio/, Contact -> /contact/, Accessibility statement -> /accessibility-statement/. Features keeps the /#features home-section anchor. Changelog (-> /themes/) and Documentation (-> /faq/) are best-fit placeholders until dedicated pages exist. Links are root-relative so they work on any install that uses the standard demo slugs.

= 1.4.34 =
* Portfolio case-study CAROUSEL excerpt (.aac-slide__text) now pins its font size to 0.85rem in the theme, so the paragraph size is owned by the theme rather than left to the plugin default. Sits alongside the existing 2-line clamp.

= 1.4.33 =
* Mobile fix — homepage certification badges row (.anlh-badges-row) now reflows to 2 columns ≤900px and a single column ≤480px, with minmax(0,1fr) tracks so cards shrink instead of overflowing. This removes the horizontal scroll at 320px (WCAG 1.4.10 Reflow) that was also pushing a grey scrollbar strip down the footer. Bundles the 1.4.32 carousel excerpt clamp.

= 1.4.32 =
* Mobile fix — portfolio case-study CAROUSEL excerpt (.aac-slide__text) is now clamped to 2 lines. Previously only the cards layout clamped its excerpt, so on narrow (320px) screens a long carousel excerpt grew the slide box and clipped at the top. The slide now keeps a predictable height on every viewport.

= 1.4.31 =
* Version bump so the .footer-aa gap fix installs cleanly as an update. The change was made under 1.4.30 but the version was not incremented, so sites already on 1.4.30 did not pick up the new theme.css. No code change from 1.4.30 other than this: .footer-aa is a plain block at .82rem (no inline-flex gap).

= 1.4.30 =
* Footer bottom line (.footer-aa "WCAG 2.2 AA · Powered by …") reworked to a plain block at .82rem, removing the inline-flex gap that added an extra space between the badge and the text. Footer styling now lives entirely in the theme, so no external "Additional CSS" override is needed.

= 1.4.29 =
* Skip-link fix made portable and reliable. The theme always renders its own skip link (so a clean install always has one); when the environment also injects a second block-theme skip link (id="wp-skip-link", added late during the template render on no stable hook), a front-end output buffer now strips only that duplicate. On sites that never emit it, nothing is changed. Replaces the 1.4.27/1.4.28 attempts, which targeted hooks the duplicate does not use.

= 1.4.28 =
* Accessibility fix (follow-up to 1.4.27) — the duplicate "Skip to content" link is now removed reliably. The 1.4.27 remove_action() approach missed because the second link (id="wp-skip-link") is emitted at wp_body_open, not wp_footer, by another active plugin. The theme now buffers the wp_body_open output and strips only that one duplicate anchor, leaving its own styled skip link intact — so keyboard and screen-reader users get a single skip stop.

= 1.4.27 =
* Accessibility fix — removed a duplicate "Skip to content" link. The theme's guard removing WordPress core's block-theme skip link referenced only the pre-6.4 callback (the_block_template_skip_link); WordPress 6.4 renamed it to wp_enqueue_block_template_skip_link, so on current WordPress the core link slipped back in, giving keyboard/screen-reader users two consecutive skip stops. ariade_remove_core_skip_link() now removes both names, leaving only the theme's own skip link.

= 1.4.21 =
* Fix: on single case-study / post pages the previous-next navigation divider had its top spacing collapsed by the theme's own #main block-margin reset (an ID-level rule out-ranked it). The divider rule now carries the same #main specificity, so it keeps a proper gap above the line and before the navigation buttons.

= 1.4.20 =
* Portfolio templates and patterns now pin the listing heading level explicitly: the archive/taxonomy loop and the Portfolio page wall render item titles at H2 (directly under the page's H1), and the carousel spotlight and editorial-list patterns are self-contained so they never skip a level. This keeps the heading order correct (no H1 -> H3 jump) even if an older build of the Accessible Portfolio plugin, which defaulted item titles to H3, is installed.

= 1.4.19 =
* Single case-study template: added a clear gap above the "About the project" description so it is no longer tight against the featured image, independent of the plugin version.

= 1.4.18 =
* Portfolio (listing) page template: the page content below the wall — headings, text and any embedded Accessible Portfolio block — now spans the same wide width as the wall above, so the whole page shares one column edge instead of the lower content sitting in a narrower block.

= 1.4.17 =
* Single case-study template: the "About the project" description now spans the same wide width as the image and details card above it, so the whole page shares one column edge instead of the text sitting in a narrower block.

= 1.4.16 =
* Single case-study template now uses the Accessible Portfolio plugin's new "Portfolio details" block for the image + project-details layout, instead of the theme's own markup. The detail page is now controlled from the plugin (fields, CTA, colours, corners, image position), matching the listing. The template keeps only the written description and the previous/next navigation. Requires Accessible Portfolio 1.4.15 or later.

= 1.4.15 =
* The Portfolio page template and archive/taxonomy templates now enable the Accessible Portfolio plugin's new Grid/List view switch, restoring the visitor view toggle that previously lived in the theme — now provided by the plugin so it stays consistent everywhere. Requires Accessible Portfolio 1.4.11 or later.

= 1.4.14 =
* Portfolio archive and category/tag templates now also delegate to the Accessible Portfolio plugin's block (in its "current archive query" mode) instead of the theme's own portfolio loop. Together with 1.4.13 this means every portfolio listing — page template and archives — comes from one source, the plugin, with no duplicated filter or pagination anywhere in the theme. Requires Accessible Portfolio 1.4.9 or later.

= 1.4.13 =
* Portfolio page template no longer renders its own filter, grid/list toggle and pagination. Those features now come entirely from the free Accessible Portfolio plugin's own block, so there is a single source of truth and no duplicated controls. The template simply hosts the plugin block (wide-aligned, with filter and pagination enabled); when the plugin is inactive, the same "plugin needed" notice is shown. Requires Accessible Portfolio 1.4.8 or later for the block width (alignment) support.

= 1.4.12 =
* Mobile drawer menu font sizes reduced for a tighter hierarchy: top-level items and submenu toggles 1.7rem → 1.6rem; second-level submenu links 1.15rem → 1.05rem; third-level submenu links 1.02rem → 0.95rem. Item numbers unchanged (0.85rem). Desktop navigation unchanged.

= 1.4.11 =
* Mobile drawer menu links are now weight 500 (Medium) instead of 600 (SemiBold) at every level — top-level items, submenu toggles and all submenu links. Desktop navigation weight is unchanged. The small item numbers keep their existing weight.

= 1.4.10 =
* Mobile menu scrolling fix: the full-screen drawer (.menu-overlay) is now vertically scrollable (overflow-y:auto, touch momentum, overscroll-behavior:contain), so on shorter screens — or when submenus are expanded — every item and the footer button can be reached. Previously the drawer was fixed height and clipped anything below the fold. (Ships as its own version so the advanced asset URL forces browsers and CDNs to load the corrected stylesheet.)

= 1.4.9 =
* Multi-level navigation: the Primary menu now supports a third level in both the desktop dropdown and the mobile drawer. A parent item placed inside a dropdown gets its own accessible disclosure toggle (chevron button with aria-expanded / aria-controls), and on desktop its sub-menu opens as a side flyout that auto-flips to the left near the screen edge so it never runs off-screen; on mobile it nests one indent deeper as an accordion. Keyboard operation stays scoped to each level. Menu depth raised from 2 to 3. No content changes — third-level items are managed as usual under Appearance > Menus.

= 1.4.8 =
* New page template "Full width, with title": a full-width content layout that keeps the header, footer and the page-title banner (the page hero). It complements the existing "Full width, no title" template — use it for inner pages that should span the full width but still show their title. Assign it per page under Page > Template, or to several pages at once via the Pages list > Bulk edit > Template.

= 1.4.7 =
* Footer brand updated to the full Ariade white logo (the "ad" lock-up with wordmark and tagline), replacing the earlier small inline "a" mark, so the footer matches the header and drawer branding. The logo is emitted through a new [ariade_footer_logo] shortcode so its path resolves correctly on every install.

= 1.4.6 =
* Uses the COMPLETE Ariade logo — tagline and all (the previous build cropped the tagline off; that was wrong). The header, hero, mobile drawer and theme dashboard now show the full logo: the colour version on light backgrounds and the dedicated white version on dark backgrounds. The favicon uses the "ad" mark. Cache version bumped to v146 so the full logo loads immediately for everyone.

= 1.4.5 =
* New Ariade "ad" logo and favicon. The theme now ships the finalised Ariade logo (the "ad" monogram + "ariade" wordmark) as PNG: the colour version on light backgrounds (header + hero) and a dedicated WHITE version on dark backgrounds (mobile drawer + theme dashboard), so the wordmark always stays legible. A matching favicon set (the gradient "ad" mark, incl. .ico, 32/192px and Apple touch icon) now appears in the browser tab whenever a site has not set its own Site Icon. The header logo max width was raised to suit the wider lock-up. Full logo variants that include the "ARIA by name, accessible by nature" tagline are bundled as well (ariade-logo-full.png / ariade-logo-white-full.png).

= 1.4.4 =
* Logo cache-busting: the logo URL now carries a version query (?v=144) everywhere it is referenced (header hero, the default Site Logo, and the dashboard). Browsers and CDNs cache SVGs by filename, so after the 1.4.3 spacing fix some visitors kept seeing the old, wider-spaced logo from cache; the versioned URL forces the corrected logo to load for everyone.

= 1.4.3 =
* Logo refinement: closed an oversized gap between the "a" mark and the "ariade" wordmark in the bundled Ariade logo, and trimmed the trailing empty space (viewBox 443→408). Applied to both the colour and white logo variants so the header and the theme dashboard stay consistent.

= 1.4.2 =
* Header logo is now larger and more prominent: the site logo grows from 54px to 68px tall on desktop (44px to 52px on mobile), balancing it against the navigation and the footer brand. Max logo width raised to 280px to suit the taller size. No markup change — applies to the core Site Logo block in the header brand group.
* The theme now shows its own bundled Ariade logo (assets/img/ariade-logo.svg) in the header by default. When a site has not set a Site Logo of its own, the header shows the Ariade logo instead of plain site-title text, so a fresh install looks branded out of the box. As soon as a site sets its own Site Logo (Appearance > Editor / Customizer > Site Logo) that logo takes over automatically — so child sites and client installs keep full control of their branding.

= 1.4.1 =
* Mobile drawer polish: the close (✕) button now uses the full brand gradient, matching the "Get the theme" button and the hamburger. Top-level menu item text is a lighter weight (600). (The item numbers already use the theme's light-blue accent, #7FB0FF.)

= 1.4.0 =
* Mobile drawer redesign.
  - The drawer header now shows the site logo (white, so it reads on the dark drawer) instead of the site name in text. Falls back to the site name if no logo is set.
  - Submenu items now use a round +/- toggle (a "+" that becomes a gradient "−" when open) in place of the chevron, and sub-links show a small accent dot.
  - Added a "Get the theme" call-to-action button at the bottom of the drawer (filter: ariade_drawer_cta — return an empty value to hide it, or change its text/link).
  - Simple menu items keep their right-aligned number (01, 02 …). The hamburger keeps its gradient. All keyboard/screen-reader behaviour (real buttons, aria-expanded, focus-trap) is unchanged.

= 1.3.3 =
* Fixed the open mobile drawer only covering the top of the screen (menu text overlapping the page and unreadable) in the new block header. The header uses a backdrop-filter (frosted glass), and a backdrop-filter element becomes a containing block for position:fixed descendants; because the drawer now lives inside the header, it was being sized to the header instead of the viewport. The header's backdrop-filter is now switched off while the drawer is open, so the full-screen drawer covers the viewport correctly. Verified with an automated browser test.

= 1.3.2 =
* Fixed the mobile menu not appearing in the new block header. With the header split into blocks (1.3.0), the mobile drawer is rendered inside the header bar, so any rule that hid an ancestor of the drawer (the whole header, or the header bar) also hid the open drawer — tapping the hamburger made everything vanish. Now only the specific bar pieces (brand/logo, desktop menu, action buttons and hamburger) are hidden while the drawer is open, never an ancestor of the drawer, so the drawer shows correctly and its ✕ (or Escape) closes it. Verified with an automated browser test. Also applies to the legacy single-block header.

= 1.3.0 =
* Header is now fully editable in the Site Editor. The header template part is rebuilt as separate blocks instead of one opaque block, so every element can be edited:
  - Logo: a core Site Logo block (plus Site Title) — click it in the Site Editor to upload or change the logo. When a logo image is set, the site-title text hides automatically.
  - Menu: a new "Ariade Primary Menu" block (ariade/primary-nav) renders the accessible desktop mega-menu and mobile drawer; its items are edited under Appearance → Menus (Primary location). The assistive-technology behaviour is unchanged.
  - Actions: a new "Ariade Header Actions" block (ariade/header-actions) renders search, account, cart, the "Get the theme" button and the mobile menu button, with show/hide settings for account, cart and the CTA, and the CTA text/link — all in the block settings.
  You can add, remove or reorder these blocks in the header like any other blocks.
* The older single "Ariade Site Header" block (ariade/site-header) is kept registered for back-compatibility; existing sites using it continue to render.

= 1.2.2 =
* Fixed a doubled close control in the open mobile drawer. The drawer's own "✕" close button (added in 1.1.1) was showing alongside the hamburger, which used to stay visible above the overlay and morph into an "✕". The whole site header is now hidden while the drawer is open, so there is a single, clear close control (the drawer keeps its own brand and close button). Closing still returns focus to the hamburger.

= 1.2.1 =
* Navigation accessibility polish.
  - Active section is now indicated: the top-level menu item whose child you are viewing gets aria-current="true" (the exact page keeps aria-current="page") and a matching highlight, on both the desktop menu and the mobile drawer, so visitors and screen-reader users can see which section they are in.
  - Mobile drawer focus-trap tightened: focus now stays strictly within the dialog (which has its own close button), as an aria-modal dialog should, instead of also cycling through the hamburger outside it.
  - Reduced-motion preference is now read live, so turning the OS "reduce motion" setting on or off mid-session is honoured immediately.
  - Desktop dropdown: pressing Up Arrow on a collapsed menu toggle now opens it with focus on the last item (Down Arrow still opens on the first), matching the WAI-ARIA Authoring Practices.

= 1.2.0 =
* Header is now a first-class block. The site header is registered as a dynamic block, "Ariade Site Header" (ariade/site-header), and the header template part uses it instead of an opaque pattern. The accessible mega-menu, hamburger and mobile drawer are unchanged — same markup, same assistive-technology behaviour.
* Header action buttons are now managed in the block editor (not the Customizer). Select the header block and use its settings panel to show or hide the account icon, the cart icon and the "Get the theme" button, and to edit that button's text and link. When an element is switched off it is not rendered at all — no hidden dead links. Search and the menu button are always present.

= 1.1.1 =
* Accessibility & robustness fixes for the header navigation.
  - Mobile drawer close button: the "✕" close control is now rendered inside the drawer header. Its styling (.menu-close) and its JavaScript handler (#menu-close) already existed in the theme, but the button itself was never output — so the drawer had no dedicated, labelled close control. It is keyboard operable and announced as "Close menu".
  - Navigation JavaScript hardened with null-guards: a single misconfigured menu item (for example a parent marked as having a submenu but without a dropdown list) can no longer throw a script error that disables the rest of the navigation, including the mobile menu. Malformed items now degrade gracefully.

= 1.1.0 =
* Accessible "parent as link" navigation. Top-level menu items that have a submenu now adapt to how they are set up, following the W3C WAI-ARIA Authoring Practices "Disclosure Navigation Menu" guidance. A parent that has a real URL (a page) renders its label as a genuine link plus a SEPARATE chevron button that toggles the submenu — so the parent page is reachable by click, touch and keyboard, and the submenu opens from its own control with aria-expanded. A parent with no URL (empty or "#") keeps the single disclosure button that only opens the submenu. Site owners choose per item simply by setting or clearing the menu item's URL — no code. Applies to both the desktop dropdown and the mobile drawer; the existing keyboard support (Arrow keys, Escape, focus return, outside-click close, drawer focus-trap) carries over. Tested with JAWS, NVDA, VoiceOver and TalkBack.

= 1.0.1 =
* Footer template part rebuilt with native blocks. The footer (parts/footer.html)
  was a single HTML block; it is now composed of core blocks — Heading, Paragraph
  and List — so the newsletter text, brand text, the three link columns and the
  bottom bar are all editable directly in the Site Editor. No visual or content
  change: the same markup classes are preserved so the existing styles render it
  identically. The subscribe form and the inline-SVG brand mark remain HTML, as a
  form and an inline SVG cannot be expressed as core blocks (the subscribe form is
  still designed to be swapped for an [mc4wp_form] shortcode — see Newsletter setup).

= 1.0.0 =
* Initial public release. Ariade is a WCAG 2.2 AA Full Site Editing WordPress block theme for accessible professional-services and business websites. Ships with an accessible mega-menu (keyboard operable, disclosure pattern, ARIA-supported, Escape-to-close, mobile drawer with focus trap), predesigned conformant page patterns for Home, About, Services, Contact, Blog and WooCommerce shop, product, cart and checkout templates, and a fresh-install experience that renders a self-contained starter homepage plus one-click About, Services and Contact page creation with automatic navigation menu wiring from the Appearance > Ariade dashboard. Tested with JAWS, NVDA, VoiceOver and TalkBack. Every colour pair verified against WCAG 2.2 AA contrast requirements. Keyboard-first, fully responsive, translation-ready and RTL-ready. Companion Ananyoo Accessible Forms, Login and Carousel plugins (available on wordpress.org) are recommended for accessible contact forms, sign-in and content carousels but are not required to run the theme.
