/** * Push Box Component * A promotional container with logo, title, and CTA * Uses slots for all content to allow easy customization in HTML */ class PushBox extends HTMLElement { static get observedAttributes() { return ["background-color", "text-color"]; } constructor() { super(); this.attachShadow({ mode: "open" }); } connectedCallback() { this.render(); } attributeChangedCallback() { this.render(); } get backgroundColor() { return ( this.getAttribute("background-color") || "var(--color-push-box-bg, #EBEEF4)" ); } get textColor() { return this.getAttribute("text-color") || "#951D51"; } render() { this.shadowRoot.innerHTML = `