=== EHERO Age Gate — Age Verification Popup ===
Contributors: cehero
Donate link: https://consultoriaehero.com/
Tags: age verification, age gate, age restriction, adult content, gdpr
Requires at least: 5.8
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.0.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Lightweight, fully customisable age verification popup. Set a minimum age, remember visitors with a cookie, exclude bots and pages, and match your brand.

== Description ==

**EHERO Age Gate** shows a clean, customisable age-verification popup before visitors can access your site. Ideal for wine, spirits, vaping, CBD, adult content or any store that must confirm a visitor is old enough.

It is lightweight, works with any theme, and is GDPR-friendly: **no personal data is stored** — a single cookie just remembers the visitor's choice for as many days as you decide.

= Key features (free) =

* **Age verification popup** with "Enter" and "Exit" buttons.
* **Minimum age** of your choice (18, 21, or anything you set).
* **Cookie memory** — remember the choice for a configurable number of days.
* **Exclusions** — hide the gate from logged-in users, from search-engine bots (so your content stays indexable) and on specific pages.
* **Custom texts** — title, message, button labels, exit redirect URL and an optional legal note. Use `%age%` to insert the minimum age automatically.
* **Brand colors** — overlay, opacity, popup background, title, text and button colors, plus ready-made color presets.
* **Layout** — popup max width, border radius and a smooth fade animation.
* **Bilingual** — English and Spanish included, and fully translatable.
* **Accessible** — proper dialog roles and keyboard-friendly markup.

= Pro features =

[EHERO Age Gate Pro](https://consultoriaehero.com/producto/ehero-age-gate/) adds, for sites that need stricter control:

* **Real date-of-birth verification** — calculate the visitor's actual age instead of a simple confirmation.
* **Advanced typography** — custom font family, font sizes, button padding and radius.
* **Animation pack** (scale, slide) and **backdrop blur**.
* **Custom logo** and **custom CSS**.
* On the roadmap: targeting rules (per category, tag, role, URL and WooCommerce product), multiple gate profiles, geolocation gating, entrance analytics and scheduling.

The free version is fully functional on its own — Pro features are clearly labelled inside the plugin and never block the core age gate.

= EHERO plugin ecosystem =

EHERO Age Gate is part of a family of WordPress and WooCommerce plugins. When other EHERO plugins are installed, a unified "EHERO" admin menu lets you manage them from one place.

== Installation ==

1. Upload the plugin files to `/wp-content/plugins/ehero-age-gate`, or install it through the WordPress Plugins screen.
2. Activate the plugin through the "Plugins" screen in WordPress.
3. Go to **EHERO → Age Gate**.
4. Set your minimum age and texts in **Settings**, adjust colors in **Design**, and you're done.

== Frequently Asked Questions ==

= Does this plugin store any personal data? =

No. The free version stores no personal data. When a visitor confirms their age, a single cookie remembers the choice for the number of days you configure. Nothing is sent anywhere.

= Will the age gate hurt my SEO? =

No. By default the gate is hidden from search-engine crawlers, so your pages stay indexable while real visitors still see the popup.

= Can I require a real date of birth? =

Real date-of-birth verification (calculating the visitor's actual age) is a Pro feature. The free version uses a confirmation button, which is enough for most age-restricted sites.

= Does it work with WooCommerce? =

Yes. The popup works on any WordPress or WooCommerce site. Per-product and per-category gating is on the Pro roadmap.

= Is it translatable? =

Yes. English and Spanish are bundled, and a `.pot` file is included for other languages.

= Does the plugin connect to any external service? =

The age gate itself is 100% local and makes no external calls. The only optional external connection is a newsletter opt-in banner shown on the plugin's own admin pages, which can be permanently dismissed. See the "External services" section for full details.

== Screenshots ==

1. The age verification popup on the frontend.
2. Settings — minimum age, cookie duration, texts and exclusions.
3. Design — colors, presets and live preview.
4. Free vs Pro comparison page.

== External services ==

This plugin shows an optional newsletter opt-in banner on its own admin pages. The banner offers administrators a discount coupon in exchange for subscribing to the EHERO newsletter, and can be permanently dismissed with a single click. The age verification feature itself never makes any external request.

= Coupon information retrieval =

When the banner is displayed, the plugin sends a GET request to retrieve the current discount amount:
`https://consultoriaehero.com/wp-json/ehero-leads/v1/coupon-info`
No personal data is transmitted in this request. The response is cached for 12 hours.

= Newsletter subscription =

When an administrator voluntarily subscribes through the banner, the following data is sent via POST to:
`https://consultoriaehero.com/wp-json/ehero-leads/v1/subscribe`

Data sent: email address, first name, site URL and language preference.

This service is provided by Consultoría EHERO S.L.U:

* [Terms of service](https://consultoriaehero.com/terminos-y-condiciones/)
* [Privacy policy](https://consultoriaehero.com/politica-de-privacidad/)

After the banner is dismissed, no further external requests are made.

== Changelog ==

= 1.0.3 =
* Coexistencia: la versión Free se mantiene inactiva automáticamente si la versión Pro está activa.

= 1.0.2 =
* Fix: la vista previa de la pestaña Diseño ahora se actualiza en vivo al cambiar colores, opacidad, tipografía y presets.

= 1.0.1 =
* Style: la barra de footer del panel de administración vuelve a verse siempre fijada al fondo de la pantalla (PC y móvil), también en páginas cortas, con endurecimiento para evitar el desplazamiento del fixed en iOS Safari.

= 1.0.0 =
* Initial public release.
* Age verification popup with minimum age, cookie memory and exclusions (logged-in users, bots, pages).
* Custom texts, brand colors, color presets, fade animation and live preview.
* GDPR-friendly: no personal data stored.
* Bilingual (English / Spanish) and fully translatable.

== Upgrade Notice ==

= 1.0.0 =
Initial release.
