=== Legacy Films ===

Contributors: Legacy Films
Requires at least: WordPress 6.0
Requires PHP: 7.4
Version: 1.3.2
License: GPL-2.0-or-later

A lightweight, single-purpose theme that renders the Legacy Films one-page site:
hero story timeline, founder's cut, "Find Your Story" chooser, story tracks,
selected films gallery with filtering, process timeline, testimonials, Vimeo
lightbox and a working inquiry form.

== What is included ==

* Self-contained compiled CSS (assets/css/legacy-films.css) and vanilla JS
  (assets/js/legacy-films.js). No Node, npm, Vite or external app server is
  required at runtime.
* Local images: logo, hero backdrop and favicon (assets/img/).
* Site copy and film data (assets/data/films.json). Video thumbnails and
  playback are served by Vimeo, exactly as on the original site.
* Google Fonts (Poppins + Roboto) loaded over HTTPS.

== Installation ==

1. Zip the "legacy-films" folder (the folder itself, so the zip contains
   legacy-films/style.css).
2. In WordPress go to Appearance > Themes > Add New > Upload Theme, choose the
   zip and click Install Now, then Activate.
3. Go to Settings > Reading and set "Your homepage displays" to either your
   latest posts or a static page — either way the theme renders the Legacy Films
   one-page layout on the front page.
4. Optional: set a Site Icon under Appearance > Customize > Site Identity. If
   none is set, the bundled favicon is used.
5. Test the contact form once on staging before pushing to production.

== Contact form / inquiries ==

Delivery is auto-detected, in this order:

1. **Forminator (free) — recommended.** Activate Forminator and publish a form
   titled "Contact". The theme renders that form directly (Forminator's own
   shortcode), so Forminator handles validation, spam protection, submission
   storage, notifications and confirmations end to end — the theme's custom form
   is not rendered at all, and the theme never creates or edits a Forminator
   form. Forminator's output is skinned by assets/css/forminator-skin.css to
   match the approved design. No form ID to configure. With several published
   forms, a title containing contact, inquiry, legacy or story wins; with
   several unmatched forms the theme never guesses.
2. **Gravity Forms — optional legacy compatibility only**, used only when
   Forminator is unavailable. Existing forms and entries are never modified.
3. **WordPress wp_mail()** to the **Administration Email Address** under
   Settings > General.

The visible form is unchanged in every case:

* Fields: first name (required), last name, email (required), business name and
  questions / comments. Button: SEND MY STORY.
* Nonce/CSRF validation and full server-side sanitization.
* A hidden honeypot field plus a per-IP rate limit (5 attempts / 10 minutes).
* Reply-To set to the visitor's email address, so replying in your mail client
  goes straight back to them.

The success state is only shown after the active provider reports success;
otherwise an inline error is displayed and the technical detail is logged
privately. wp-admin > SiteBOP Content > "Contact delivery" shows which provider
is in use. On many hosts (Flywheel included) deliverability is best with an SMTP
plugin such as WP Mail SMTP configured for your domain.

== Rebuilding the CSS (optional) ==

The compiled stylesheet is committed and needs no build step. If markup classes
change, the CSS can be regenerated with the Tailwind CLI using the source file
kept one level above the theme (tailwind-src.css):

  npx @tailwindcss/cli@4 -i tailwind-src.css -o legacy-films/assets/css/legacy-films.css --minify

== Notes ==

* No page builder, no external tracking, no analytics beacons.
* All content is rendered by the theme templates; the theme is intentionally
  single-purpose for Legacy Films.

EDITING THE CONTENT (OPTIONAL PLUGIN)
-------------------------------------
Install and activate the "SiteBOP Content Bridge" plugin (sitebop-content-bridge.zip)
to edit the homepage copy, films and story types from wp-admin under "SiteBOP Content"
and "Films". The plugin also exposes the same content over the WordPress REST API at
/wp-json/sitebop/v1/ for a remote editor.

The theme does not require the plugin. With the plugin absent or deactivated it renders
its own built-in copy and the bundled assets/data/films.json, so the site never breaks.
Layout, typography and colours are not editable by design — content only.
