=== ITzone360 Widgets ===
Contributors: itzone360
Tags: elementor, widgets, elementor addon, counter, pricing table
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Requires Plugins: elementor
Stable tag: 1.2.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Production-ready custom Elementor widgets — Info Card, CTA Button, Feature Box, Counter, Team Member, Testimonial, and Pricing Box.

== Description ==

ITzone360 Widgets is a lightweight, dependency-light collection of custom Elementor widgets built with the WordPress Plugin API. No jQuery is used in any custom JavaScript, and every widget is built to pass the WordPress.org Plugin Check tool across the Plugin Repo, Security, General, Performance, and Accessibility categories.

= Widgets Included =

* **Info Card** – Icon, title, description, CTA button, with full style controls (color, typography, shadow)
* **CTA Button** – Advanced call-to-action with gradient background and hover animation
* **Feature Box** – Icon/Image toggle, title, description, background (color or gradient), hover-lift shadow, optional button
* **Counter** – Animated count-up number with prefix/suffix, thousands separator, and scroll-triggered vanilla JS animation (no jQuery)
* **Team Member** – Photo, name, position, description, and individual Facebook / LinkedIn / X / Instagram links
* **Testimonial** – Client photo, name, company, 1–5 star rating, and review text
* **Pricing Box** – Plan name, price, "Featured" highlight badge, repeater-driven feature list (included/excluded), CTA button

All widgets share a consistent `cew-` CSS namespace and are registered through a single, extension-friendly bootstrap (`itzone360_widgets/register_pro_widgets` action hook, reserved for a future Pro add-on).

= Tech Stack =

* PHP — Elementor Widget API (`Widget_Base`, `Controls_Manager`, `Repeater`, `Group_Control_*`)
* WordPress Plugin API — hooks, `wp_register_script` / `wp_enqueue_style`
* Vanilla JavaScript — `IntersectionObserver` + `requestAnimationFrame` for the Counter widget's scroll-triggered animation, no external libraries
* CSS3 — flexbox layouts, custom properties via Elementor's `selectors` API

= Requirements =

* Elementor (free or Pro) must be installed and activated

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`, or install directly through the WordPress Plugins screen
2. Activate **ITzone360 Widgets** from the WordPress Plugins screen
3. Make sure **Elementor** (free or Pro) is installed and activated
4. Edit any page with Elementor → search the widget panel for "ITzone360" or the widget name (e.g. "Feature Box")
5. Drag the widget onto the page and configure it from the Content/Style tabs

== Frequently Asked Questions ==

= Does this plugin require Elementor? =

Yes. Elementor (free or Pro) must be installed and active for these widgets to appear in the editor panel.

= Does this plugin load jQuery or other external libraries? =

No. All custom JavaScript is vanilla JS. The Counter widget's scroll animation uses only `IntersectionObserver` and `requestAnimationFrame`.

= Are widget assets loaded on every page? =

No. Widget-specific JS/CSS is registered per-widget via `get_script_depends()`, so scripts are only loaded on pages that actually use that widget.

= Is a Pro version available? =

Not yet. A Pro add-on is planned (see Roadmap below) and will hook into the `itzone360_widgets/register_pro_widgets` action.

== Screenshots ==

1. Info Card widget on the frontend
2. Counter widget with scroll-triggered animation
3. Pricing Box widget with repeater-driven feature list
4. Elementor panel showing all ITzone360 widgets

== Changelog ==

= 1.2.1 =
* Added Requires Plugins header for Elementor dependency check
* Fixed version constant mismatch

= 1.2.0 =
* Added Team Member, Testimonial, and Pricing Box widgets

= 1.0.0 =
* Initial release with Info Card, CTA Button, Feature Box, and Counter widgets