class FeatureCard extends HTMLElement { connectedCallback() { const icon = this.getAttribute('icon') || 'star'; const title = this.getAttribute('title') || 'Feature Title'; const description = this.getAttribute('description') || 'Feature description goes here'; this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = `
${this.getIconPath(icon)}

${title}

${description}

Learn more
`; } getIconPath(iconName) { const icons = { 'wifi-off': '', 'shield': '', 'smartphone': '', 'star': '', 'credit-card': '', 'grid': '', 'activity': '', 'message-circle': '' }; return icons[iconName] || icons['star']; } } customElements.define('feature-card', FeatureCard);