class ProductCard extends HTMLElement { constructor() { super(); this.attachShadow({ mode: 'open' }); } connectedCallback() { const title = this.getAttribute('title') || 'Product'; const price = this.getAttribute('price') || '0.00'; const category = this.getAttribute('category') || 'Plugin'; const image = this.getAttribute('image') || 'http://static.photos/technology/640x360/1'; const rating = this.getAttribute('rating') || '5.0'; this.shadowRoot.innerHTML = `