/* ══════════════════════════════════════════════════════════════════════════
   WEPROCTA — PUBLIC FIXED-EDGE OCCUPANCY SLOT (5.7.1)

   This file exists to publish ONE public integration contract:

       --wepro-fixed-bottom-cta

   It is weprocta's own slot in the additive fixed-edge occupancy registry that
   `wepro-consent` (>= 3.5.0) defines and sums. A site's bottom viewport edge is
   written to by several independent owners — the theme's sticky nav, the consent
   banner, the accessibility panel, and this plugin's CTA surfaces. None of them
   may read another's markup (GOD-WEPRO-8 standalone-first, GOD-NOMIX-2
   ownership), so occupancy is declared ADDITIVELY: every owner writes ONLY its
   own slot.

   Slot registry (owners, for reference — weprocta writes exactly one of these):

       --wepro-fixed-bottom-theme   the active theme's persistent bottom UI
       --wepro-fixed-bottom-a11y    wepro-accessibility's fixed panel
       --wepro-fixed-bottom-cta     THIS PLUGIN  <-- the only one we ever write
       --wepro-fixed-bottom-site    anything else the site itself owns
       --wepro-fixed-top-theme  /  --wepro-fixed-top-site

   WEPROCTA MUST NEVER WRITE ANY SLOT BUT ITS OWN. Writing the theme's,
   accessibility's, the calculator's, or consent's slot would put two owners on
   one value, which is the exact collision the registry exists to prevent.
   Equally, weprocta never writes the consent banner's `bottom`/`top` anchor:
   under the 3.5.0+ contract those must stay plugin-owned literals, because their
   initial value `auto` on a wp_footer-rendered fixed element resolves to the END
   OF THE DOCUMENT — one bad external value would remove the consent UI from the
   viewport entirely.

   ── SAFE ZERO DEFAULT ──────────────────────────────────────────────────────

   The initial value is `0px`, i.e. "weprocta reserves nothing". That is the
   correct failure mode in every direction:

     - no CTA rendered, CTA disabled, or the CTA is a SIDE RAIL  -> 0px
     - the publisher script is blocked, fails, or JS is off      -> 0px
     - a consumer that never registered the property             -> its own
       `var(--wepro-fixed-bottom-cta, 0px)` fallback resolves to 0px anyway

   0px never hides, shrinks or displaces a consent banner; it only means "do not
   move on our account". An over-declared band, by contrast, would push a banner
   up for furniture that is not there. We therefore declare only what is really
   occupied, and we declare nothing when nothing is.

   ── WHY THE VALUE IS PUBLISHED FROM JS, NOT HARD-CODED HERE ────────────────

   Every weprocta bottom surface is CONTENT-SIZED, not fixed-height: the pill bar,
   the rating bar and the FAB all size from their labels, padding and the user's
   font size, and several carry runtime state classes that change that height
   after load (`.is-collapsed` on the pill bar, `.weprocta-rb--collapsed` on the
   rating bar). A literal here would be a guess that silently drifts from what
   actually renders — the precise failure already observed in the field where a
   site reserved 59px against a bar that measured 63px and overlapped anyway.

   So `public/js/weprocta-fixed-edge.js` MEASURES the rendered surfaces and
   publishes the real reserved height as an inline value on the document element.
   An inline custom property outranks any stylesheet rule, so this file's job is
   only to REGISTER the property and its safe default — it never competes with
   the measured value.

   `@property` additionally type-checks the slot where supported, so a malformed
   value degrades to `0px` (no band) instead of poisoning a consumer's `calc()`.
   The descriptors below are deliberately IDENTICAL to the ones `wepro-consent`
   registers for the same property: re-registering a custom property with
   matching descriptors is harmless, whereas differing descriptors would make the
   resolved type depend on stylesheet order. weprocta still declares it here so
   the contract holds STANDALONE, with no consent plugin installed at all.
   ══════════════════════════════════════════════════════════════════════════ */

@property --wepro-fixed-bottom-cta {
	syntax: '<length>';
	inherits: true;
	initial-value: 0px;
}
