=== BlockTuner ===
Contributors: jsilff
Tags: gutenberg, block, style, css, design
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Extra CSS design controls on any block: overflow, crop, layout, transforms, effects, responsive. No builder, no lock-in.

== Description ==

BlockTuner adds the design controls the WordPress editor leaves hard to reach. Select any block and tune it in the sidebar: overflow and crop, stack order, display and flex layout, transforms (move / scale / rotate / skew), blend modes, shadow, and stackable filter and backdrop effects — all as form controls, with no free-text CSS or script fields.

It is not a block, not a builder, and not a wrapper. It augments whatever block you have selected — a Group, a Column, an Image deep inside a nested layout — so you tune exactly the element you want without remaking content or picking from a tree.

* Works on every block type.
* Controls only what core does not expose: overflow, per-edge clip, z-index, display / flex, transform (translate / scale / rotate / skew), mix-blend-mode, shadow, and stackable backdrop-filter and filter effects.
* Responsive: keep settings the same on mobile, reset to default on small screens, or set different values for phones.
* Optional live editor preview toggle.
* No duplicate controls for spacing, padding, margins, colors, backgrounds, or corner radius — those already live in core.
* Styles are applied at render time, not baked into your content.
* Deactivate the plugin and every block returns to its default presentation. Nothing breaks and nothing needs rebuilding.

== How it works ==

Tuning is stored as a hidden blockTuner attribute in the block's markup comment (never in the visible HTML). On the front end, BlockTuner applies styles at render time: an inline style attribute for same-as-desktop tuning, or a unique class plus enqueued media-query CSS (via WordPress style enqueue APIs) when small-screen reset/custom is enabled. Remove the plugin and the injection stops — the stored attribute is inert and the block renders with its default styling.

== Installation ==

1. Upload the plugin files to `/wp-content/plugins/blocktuner`, or install through the WordPress plugins screen.
2. Activate the plugin through the "Plugins" screen in WordPress.
3. Select any block in the editor and open the "BlockTuner" panel in the sidebar.

== Frequently Asked Questions ==

= What happens if I deactivate BlockTuner? =

Styling stops being injected, so every block renders with its default presentation. Your content is unchanged and no pages break.

= Will my styles affect other blocks? =

No. Styles are applied to the specific block you tuned.

= Does this load JavaScript on the front end? =

No. Styling is injected as static CSS during rendering. There is no front-end script.

= Can I paste custom CSS? =

No. BlockTuner only exposes form controls and generates CSS from those values. Use the Customizer or Additional CSS in the Site Editor for free-form styles.

== Screenshots ==

1. BlockTuner panels in the editor sidebar — layering, spill & crop, layout, move & reshape, and effects.
2. Example of a spill-over effect with a transparent PNG block scaled and moved.

== Changelog ==

= 1.0.0 =
* Initial WordPress.org release.
* Form-only tuning (no arbitrary CSS / JS / PHP insertion).
* Front-end CSS via `wp_enqueue_style` / `wp_add_inline_style` for responsive rules; escaped inline styles for same-viewport tuning.
* Sidebar tuning for overflow/crop, layout, transforms, stackable filters/backdrops, shadow, and responsive small screens.
* Optional editor preview; styles inject at render time and clear on deactivate.

== Upgrade Notice ==

= 1.0.0 =
Initial public release. Custom CSS fields removed in favor of form controls only.
