=== Contractor Roof Estimate Calculator ===
Contributors: quietcitydesign
Requires at least: 6.2
Requires PHP: 7.4
Stable tag: 5.1.7.4
License: GPLv2 or later

A configurable homeowner roof replacement range estimator with lead capture, saved submissions, email delivery, print-ready results and an admin-only test form.

== Installation ==
1. Upload and activate the plugin ZIP in WordPress.
2. Open Roof Estimates > Settings.
3. Review every installed price, allowance and multiplier before publishing.
4. Add [roof_estimate_calculator] to a page.

== Calculation model ==
The installed per-square-foot roof-system rate is applied to estimated roof area plus internally calculated waste. Pitch, stories, illustrated roof shape and access compound against that base. Tear-off layers, disposal, underlayment, ice protection, vents, skylights, chimneys, ventilation, flashing, permits, minimum job charge and optional sales tax are then applied. Results use the configured plus/minus percentage.

The included presets are editable planning values, not quotes or promises of local pricing. Final pricing requires verified measurements and an inspection of decking, flashing, ventilation, access and code requirements.

== Changelog ==

= 1.1.7.3 =
* Added an Email Notifications settings tab with rich-text controls for the lead introduction, scheduling message and signature.
* Added a Show Scheduling Button control while allowing links inside the scheduling message.
* Added lead and contractor email previews backed by the production email renderer.
* Increased email paragraph line height and standardized the responsive email container at 700px.
* Moved shared email rendering into the QCD estimator core build source.
* Kept the settings preview focused on the lead email; contractor notifications remain fully templated without a preview.
* Added an optional Media Library logo at the top of the lead email and enabled Add Media in the signature editor.
* Preserved rich-text editor paragraph breaks and added reliable spacing before the email signature with or without the scheduling button.
* Added a manifest-driven isolated estimator core foundation while preserving the existing shortcode, post type, settings and estimate data.
* Moved reusable settings fields, rich-text/media controls, multiplier panels and save actions into the shared admin UI core.
* Replaced the duplicated settings JavaScript with a generated prefix-aware shared admin script.
* Moved shared email-settings and Media Library control styling into a generated core stylesheet.
* Fixed browser validation blocking all settings saves when decimal roofing allowances used whole-number input steps.
* Added core number-field safeguards that automatically reconcile decimal values with compatible input steps in every future estimator.
= 1.7.3 =
* Increased the final Ballpark project range label size for clearer visual hierarchy.

= 1.7.2 =
* Removed inherited font shorthand from calculator headings so theme heading typography is respected.

= 1.7.1 =
* Replaced the four built-in roof-complexity illustrations with supplied high-resolution JPEG artwork.
* Updated roof-complexity cards to preserve the artwork's composition.

= 1.7.0 =
* Replaced the seven built-in roofing-system illustrations with supplied high-resolution JPEG artwork.
* Updated roofing-system cards to use the artwork's native 16:9 composition.

= 1.6.0 =
* Rebuilt every roofing-system illustration in a consistent three-quarter top-down perspective.
* Added more accurate material patterns for asphalt shingles, designer shingles, metal shingles, standing seams, cedar shakes, slate and flat membranes.

= 1.5.0 =
* Added a single solar-array-size dropdown to Step 4 without changing estimate pricing.
* Saved the reported solar array size with the lead and highlighted it in contractor notifications.
* Added a Business Info setting for the contractor’s short solar-project handling description.

= 1.4.0 =
* Added distinct built-in illustrations for architectural asphalt, premium asphalt, metal shingles, standing seam metal, cedar shakes, slate and flat membrane roofing systems.
* Added versioned default-image URLs so updated illustrations bypass stale browser and CDN caches.

= 1.3.1 =
* Added a visible plus/minus prefix before every estimate-category range percentage field.

= 1.3.0 =
* Grouped estimate details into Roofing system, Removal and disposal, Roof protection and Roof penetrations.
* Added contractor-configurable uncertainty percentages for each variable estimate category.
* Kept permit and minimum-project allowances fixed while calculating tax against category low and high totals.
* Removed the global estimate-range percentage to prevent uncertainty from being applied twice.
* Displayed category ranges consistently in results, emails and saved-estimate details.

= 1.2.0 =
* Reorganized the calculator into five clearly labelled steps.
* Moved Stories beside roof area and pitch, and made penetrations Step 4.
* Combined removal, ventilation upgrade and permit handling in Step 5.
* Removed the existing-layer question and standardized selected removal to one existing layer.
* Moved underlayment, ice protection and standard flashing information into the estimate breakdown.

= 1.1.4 =
* Matched the Roof Complexity selection border to the Roof System cards with an even overlay drawn above the illustration.

= 1.1.3 =
* Added left padding inside the editable Roof Shape Label fields.

= 1.1.2 =
* Added bottom spacing below the Roof Complexity configuration table to match the other Adjustments panels.

= 1.1.1 =
* Moved Roof Complexity configuration from Product Configuration to the Adjustments tab.
* Renamed the Product Configuration pricing section to Allowances.
* Renamed the Allowances & Adjustments tab to Adjustments.

= 1.1.0 =
* Added a Roof Complexity configuration table with editable labels, price multipliers, default illustrations and Media Library image overrides.
* Used the configured roof-shape labels and images on both the public calculator and internal test form.

= 1.0.2 =
* Removed the damaged-decking-sheet question, allowance, calculation and settings control because decking condition cannot be reliably estimated before tear-off.

= 1.0.1 =
* Removed the homeowner-facing system tier and waste allowance fields.
* Derived hidden waste from the configured base allowance, roof size and illustrated roof shape.
* Replaced the subjective complexity dropdown with four visual roof-shape choices.
* Simplified pitch choices with degree ranges and homeowner guidance.
* Included underlayment, required ice protection and standard flashing by default; complex shapes automatically receive the extra flashing allowance.

= 1.0.0 =
* Adapted the Contractor Fence Estimate Calculator 1.9.3 architecture for homeowner roofing estimates.
* Added asphalt, metal, cedar, slate and flat/low-slope systems plus three custom product slots.
* Added roof area, waste, pitch, stories, complexity, access, tear-off, protection, decking and penetration inputs.
* Preserved range results, lead capture, saved estimates, emails, print flow, admin configuration, test form, dashboard summaries and opt-in/milestone framework.
