=== RLM Elementor Widgets Pack ===
Contributors: zachsilberstein
Tags: elementor, widgets, restaurant, menu, hours
Requires at least: 5.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.7.0
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Custom Elementor widgets for restaurant menus, hours, locations, ordering, headers, specials, and calls to action.

== Description ==

RLM Elementor Widgets Pack adds a focused set of custom Elementor widgets used on restaurant and small-business WordPress sites.

Included widgets:

- Copyright w/ Year: outputs a business name, current year, and optional developer link.
- Food Menu: renders full menu sections and menu content in one widget.
- Food Menu Sections: creates anchor links for jumping between menu sections.
- Daily Specials: manages a repeatable list of specials with expandable details.
- Hours / Open Now: shows current open status and a configurable weekly schedule.
- Multi Location: switches between tabbed or card-based location profiles with CTAs.
- Order Online Hub: creates a tabbed ordering section for pickup, delivery, catering, and call-in links.
- Page Header & Title: displays a page title over a configurable background image.
- RLM Smart Button: renders a fixed or inline call-to-action button.
- Marquee Banner: outputs continuously scrolling announcement text.
- Events: a shared event library with customizable cards, agenda, and month calendar views, weekly repeats, filters, and event details.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`.
2. Activate `RLM Elementor Widgets Pack` in WordPress.
3. Make sure Elementor is active.
4. In the Elementor editor, look for the `RLM Widgets` category.

== Frequently Asked Questions ==

= Does this plugin require Elementor? =

Yes. The widgets register through Elementor hooks and are not usable without Elementor.

= Where are the widgets located in the editor? =

They are grouped under the `RLM Widgets` category.

= How do I add events? =

Create and publish events under WordPress > Events, then add the Events widget in Elementor. Choose the views and filters under Content, and customize individual parts under Style. Defaults use inherited text and neutral surfaces. Existing widgets and saved settings are unchanged.

Weekly repeats support selected weekdays, an optional end date, and excluded start dates. All-day end dates are inclusive. Times use the site timezone unless the widget has an override; all-day dates retain their original days. The calendar supports a window of up to 12 months ahead and behind and up to 500 published source events per widget. Clear your page cache after editing events. Ticketing, payments, external calendar sync, and shortcode execution in descriptions are outside this widget's scope.

== Changelog ==

= 1.7.0 =

- Added the Events widget and shared event library with cards, agenda, calendar, filters, and weekly repeats.
- Fixed calendar Today dates on cached pages and after midnight in the selected timezone.
- Fixed Page Header custom widths and background image URLs containing parentheses.
- Fixed short Marquee text disappearing during the animation loop.
- Existing saved hours, menu assignments, and other widget settings are preserved.


= 1.6.13 =
* Added a Food Menu section picker that defaults to Custom and preserves existing section references.
* Fixed Multi Location and Order Online tabs after cloning and repeated script initialization.

- Added an editor-only Copy hours action with weekday, weekend, and individual-row selection. Existing schedules are unchanged until Apply is clicked and the page is saved.
- Fixed Daily Specials closing markup when the saved layout setting is missing or invalid.
- Fixed the Copyright widget's year fallback on older WordPress versions.
- Stopped Hours / Open Now timers when widgets are removed and restored updates when reinserted.
- Limited Food Menu navigation updates to relevant menu changes and batched section tracking refreshes.
- Centralized CSS and JavaScript versioning for reliable cache updates.
- Preserved existing widget controls, saved settings, styling defaults, and asset handles.

= 1.6.12 =

- Added a Food Menu behavior toggle that opens menu item images in an Elementor lightbox.
- Fixed Food Menu lightbox captions when multiple menu items use the same image.
- Fixed Food Menu section item column overrides so saved per-section column settings are applied.
- Added a Hours / Open Now style control for schedule row vertical padding.

= 1.6.11 =

- Hardened Elementor editor repeater labels and saved widget data handling.
- Added inline text editing support for Food Menu section and item text.

= 1.6.10 =

- Changed the Food Menu mobile item image position default to `Above Item`.

= 1.6.9 =

- Added Food Menu style controls for item images, including width, gap, aspect ratio, object fit, border radius, border, shadow, and background.
- Added a mobile behavior option to place Food Menu item images above the item content instead of beside it.

= 1.6.8 =

- Added optional images for Food Menu structured menu items.
- Updated the Food Menu item layout so images render cleanly beside names, prices, badges, and descriptions.

= 1.6.7 =

- Added safe HTML support to Food Menu item descriptions.
- Added inline HTML support for Food Menu item names and prices, including line breaks with `<br>`.

= 1.6.6 =

- Improved Food Menu text wrapping and responsive price alignment across desktop, tablet, and mobile.
- Added dropdown controls to change the Food Menu section title and item name HTML tags, defaulting to `h2` and `h3`.

= 1.6.5 =

- Fixed marquee banner speed values that ended in `0` so durations like `40s` no longer render as `4s`.

= 1.6.4 =

- Added an explicit closed-day state to the Hours / Open Now widget.
- Added a customizable Closed Row Label control for schedule rows.

= 1.6.3 =

- Improved the Multi Location widget style controls by separating container and card surface styling.
- Added card/panel background, gap, and independent padding controls for the Multi Location widget.
- Clarified Multi Location typography control labels in the Elementor editor.

= 1.6.2 =

- Updated the Hours / Open Now widget schedule dropdowns to use 15-minute increments instead of 30-minute increments.

= 1.6.0 =

- Added the Multi Location widget with tabs and cards layouts for multi-location restaurants.
- Registered shared Multi Location styles and scripts.

= 1.5.0 =

- Added the Order Online Hub widget with tabbed order methods and configurable links.
- Registered shared Order Online Hub styles and scripts.

= 1.4.0 =

- Added the marquee banner widget.
- Registered shared marquee widget styles.
- Improved plugin documentation.
