=== MM Store ===
Contributors: mmwebnet
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: e-commerce, block-patterns, full-site-editing, wide-blocks

An accessible, framework-free WooCommerce block theme.

== Description ==

MM Store is a block theme for WooCommerce stores. Every page is built from block templates and theme.json, and every store page uses WooCommerce's current blocks: Product Collection for the shop, the Product Gallery and add-to-cart form for products, and the Cart and Checkout blocks for buying.

On top of WooCommerce's own behaviour, the theme adds:

* Variation swatches. Colour options appear as colour bubbles, options with their own variation image appear as image tiles, and everything else appears as text buttons. They are real radio buttons, so they work with the keyboard and with screen readers, and the original dropdowns come back when JavaScript is not available.
* Add to cart without a page reload on product pages, with a spoken and visible confirmation.
* A "Frequently bought together" section built from each product's WooCommerce cross-sells, plus up-sell and related-product sections. Each is hidden when it has nothing to show.
* Product cards that show the image, sale badge, stock, title, rating, price and button without hovering. The sale badge sits below the image and never covers it.

The theme loads no web fonts, icon fonts, frameworks or third-party scripts. Its store stylesheet and script load only on pages that need them.

== Requirements ==

* WordPress 7.0 or newer (tested with 7.1.2)
* PHP 8.1 or newer
* WooCommerce, current release (tested with 11.1.2)

WooCommerce compatibility: the theme works with the Cart and Checkout blocks, the Store API, High-Performance Order Storage (it never reads or writes order data), and WooCommerce's block templates. It ships no copies of WooCommerce's PHP templates, so the WooCommerce status screen reports no outdated templates.

== Recommended plugin: MM Side Cart ==

MM Store does not include a slide-out cart. It recommends the free MM Side Cart plugin (https://wordpress.org/plugins/mm-side-cart/), which adds an accessible, framework-free slide-out cart designed to work with page caching, WooCommerce High-Performance Order Storage and the WooCommerce Cart and Checkout blocks.

While MM Side Cart is not active, administrators see a dismissible notice on the Dashboard, Themes and Plugins screens, and a short note above the cart and checkout. Shoppers never see either. When MM Side Cart is active, the theme shows no recommendation and leaves the side cart's button, drawer, styling and behaviour entirely to the plugin.

== Accessibility ==

MM Store targets WCAG 2.2 level AA:

* Every control can be reached and used with a keyboard, and shows a clear 3px focus outline.
* Swatches are grouped, named and announced, and unavailable combinations are announced as unavailable, not shown by colour alone.
* Add-to-cart results are announced through live regions.
* Text and control colours meet contrast requirements; the palette was checked pair by pair.
* Nothing depends on hover, and the visitor's "reduce motion" setting is respected.
* Header, card and product-form controls are at least 44px tall; other targets meet the 24px minimum of WCAG 2.5.8 or are inline text links.

== Installation ==

1. In your admin, go to Appearance > Themes > Add New Theme > Upload Theme and upload mm-store.zip, or copy the mm-store folder into wp-content/themes/.
2. Activate MM Store.
3. Install and activate WooCommerce if it is not already active.
4. Optional: install MM Side Cart from Plugins > Add New Plugin.

== Usage ==

* Edit templates, the header and the footer in Appearance > Editor.
* Build a home page with the "Product hero" and "Product grid" patterns from the MM Store pattern category. Mark a product as featured in WooCommerce to fill the hero.
* Give colour attributes an exact swatch colour at Products > Attributes > (attribute) > Configure terms > Swatch colour. Without one, option names that are CSS colour words ("Red", "Navy") are shown as colours, and options with their own variation image are shown as images.
* Add cross-sells in the product editor (Product data > Linked Products) to fill "Frequently bought together".
* Create a navigation menu in the Site Editor to replace the automatic page list in the header and footer.

== Frequently Asked Questions ==

= Does MM Store work without MM Side Cart? =

Yes. The recommendation is optional and the store works fully without it.

= Why does the shop always show between two and five columns? =

The main shop grid is limited to the range declared in the theme's WooCommerce support. Product grids you add yourself keep whatever column count you choose.

= Can I turn off the swatches or the background add to cart? =

Yes, with the `mm_store_variation_swatches` and `mm_store_ajax_add_to_cart` filters. Background add to cart is also off automatically when "Redirect to the cart page after successful addition" is enabled in WooCommerce.

== Changelog ==

= 1.0.1 =
* minor updates.

= 1.0.0 =
* First release.

== Copyright ==

MM Store, (C) 2026 MM Web.
MM Store is distributed under the terms of the GNU GPL v2 or later.

The theme contains no bundled third-party code, images, fonts or icons. It uses the fonts already installed on the visitor's device.
