# Browser Support

The Elements SDK requires modern browser features (Web Components + Shadow DOM). If you need to support older browsers, include polyfills.

## Minimum Versions

- Chrome 66+
- Firefox 60+
- Safari 12+
- Edge 79+

## Required Features

- Custom Elements (Web Components)
- Shadow DOM
- ES2018 JavaScript
- Fetch API
- LocalStorage

## Server-Side Rendering (SSR)

The SDK is browser-only, but it is safe to import in SSR frameworks (Next.js, Remix, Nuxt).
In non-browser environments, initialization is skipped. If you call the SDK on the server,
it returns `null` and logs a warning instead of throwing.

Call `Elements`, `ElementsCheckout`, or `ElementsBuilder` from client-only code (e.g., after mount)
to render components.

## Polyfills (Legacy Browsers)

```html
<script src="https://cdn.jsdelivr.net/npm/@webcomponents/webcomponentsjs@2/webcomponents-bundle.js"></script>
<script defer data-liquid-commerce-elements ...></script>
```

## Notes

- Always load the SDK script with `defer` to avoid blocking page render.
- If you see Web Components errors in the console, add the polyfill before the SDK.

## Related Docs

- [Installation](../getting-started/installation.md)
- [Troubleshooting](./troubleshooting.md)
