=== Carpet & Floor Cleaning Ballpark Calculator ===
Contributors: quietcitydesign
Tags: carpet cleaning, floor cleaning, estimate calculator, lead generation
Requires at least: 6.0
Requires PHP: 7.4
Stable tag: 6.2.1.7
License: GPLv2 or later

Create a modular carpet, rug, tile, grout and hard-floor cleaning ballpark estimate while capturing qualified homeowner leads.

== Description ==

Contractors can enable the core cleaning services they offer, choose pricing rates, apply a minimum service charge, and offer optional upholstery, stairs, carpet protection and mattress cleaning. Customers receive a server-verified range and can request an exact price or continue to a booking URL.

Use shortcode: [carpet_floor_cleaning_estimator]

== Changelog ==

= 1.2.1.1 =
* Kept all selected core-service detail screens within one shared progress stage.

= 1.2.1.0 =
* Added a separate wizard step for every selected core service.
* Moved rug, tile and hard-floor type selection into each individual measurement row.
* Added a dedicated repeating rug table so mixed rug types calculate independently.

= 1.2.0.0 =
* Added constrained area, quantity, fixed-price and assessment-required templates for additional core services.
* Added optional service-specific choices with configurable prices or professional-review handling.
* Prevented assessment-only requests from receiving an artificial minimum-charge estimate.

= 1.1.0.4 =
* Stacked the image selection and removal buttons in Core Services settings.

= 1.1.0.3 =
* Restored the established compact table spacing and natural column widths.
* Limited enhanced padding and sizing to custom service-name fields only.

= 1.1.0.2 =
* Normalized Core Services row spacing, padding, alignment and control sizing.
* Aligned custom-service configuration controls and responsive table behavior.

= 1.1.0.1 =
* Made custom service names directly editable in their primary Core Services rows.
* Removed the duplicate service-name fields from the lower pricing table.

= 1.1.0.0 =
* Added three configurable additional core-service slots.
* Added custom service names, descriptions, images and pricing methods.
* Added per-square-foot, fixed starting price and assessment-required behavior.
* Integrated custom services with dynamic questions, validation, calculations, emails and submissions.

= 1.0.0.6 =
* Moved Carpet Protection to the first value-added option.
* Kept expanded option cards at their desktop column width.
* Stacked conditional fields vertically inside each card and retained mobile stacking.

= 1.0.0.5 =
* Simplified area condition to Normal, Heavily Soiled and Not Sure.
* Reordered special cleaning needs and nested pet extent beneath the pet option.
* Converted value-added services to checkbox cards with conditional quantity fields.
* Shortened the Complete Your Cleaning prompt.

= 1.0.0.4 =
* Wrapped the entire estimator in the established calculator shell.
* Matched the shared header, kicker, progress, step-heading and panel spacing system.

= 1.0.0.3 =
* Matched the established fencing and roofing visual-card layout for core services.

= 1.0.0.2 =
* Replaced temporary service-card placeholders with four distinct cleaning illustrations.
* Added Media Library image overrides for every core service.

= 1.0.0.1 =
* Restored the established tabbed settings layout and responsive admin alignment.
* Organized core services, pricing, service options, emails and testing into dedicated panels.

= 1.0.0.0 =
* Initial modular carpet and floor cleaning calculator.
* Added carpet, area rug, tile and grout, and hard-floor service modules.
* Added conditional pet treatment and value-added service options.
* Added server-side recalculation, saved leads, emails, tax and minimum-charge support.
