Setyenv · Docs
  • English
  • Español
  • 中文
  • 日本語
  • العربية
  • Deutsch
  • Français
  • हिन्दी
  • Bahasa Indonesia
  • Italiano
  • Nederlands
  • Português
  • Русский
  • Türkçe

CSS isolation policy

The front-end stylesheet (assets/src/frontend/styles.css) follows a strict isolation policy so the plugin never disrupts a theme's design system.

Mandatory rules

  1. Every selector scoped under .pfm-embed — no bare element selectors anywhere.
  2. Typography + colour inherit from the theme. Form controls declare font: inherit; color: inherit so they read the theme's settings.
  3. No !important. If a theme overrides our rule it wins.
  4. Theme.json variables are consumed with fallbacks for the primary / background / red / green / etc. accent colours (var(--wp--preset--color--primary, #2271b1)).
  5. currentColor and logical properties so RTL themes inherit correctly.
  6. No icon font, no Dashicons — inline SVG only.
  7. Bundle size target: < 8 KB gzipped CSS, < 60 KB gzipped JS.

Form chrome that themes need to dress themselves (background, border, padding) is left alone — only font, color, width:100% and a min-height for touch targets are enforced.

The honeypot field (used by the anonymous-write hardening) is positioned off-screen with display:none plus position:absolute; inset-inline-start:-10000px as a secondary line of defence in case a theme overrides display.