## Brand logos (product page, cards, live search)

Brand logos are **theme image assets matched to the product Vendor** — no
metafields, no metaobjects, no per-product setup.

### How the filename is derived
The product's **Vendor** is turned into a slug:

- lowercase
- spaces → `-`
- remove `.`  `'`  `,`
- `&` → `and`

then the theme looks for:

assets/manufacturer-<slug>.png



Examples:
| Vendor        | File it looks for                |
|---------------|----------------------------------|
| `Terrafirma`  | `manufacturer-terrafirma.png`    |
| `ALLMAKES`    | `manufacturer-allmakes.png`      |
| `JLR`         | `manufacturer-jlr.png`           |
| `Land Rover`  | `manufacturer-land-rover.png`    |
| `OEM & Genuine` | `manufacturer-oem-and-genuine.png` |

### What renders
1. The `<img>` is output hidden (`visibility:hidden; position:absolute`) with
   the vendor **name as text** shown next to it.
2. On successful `onload` → the image is revealed and the text is hidden.
3. On `onerror` (asset doesn't exist) → the `<img>` removes itself and the
   **vendor name stays as plain text**.

So a missing logo = the brand name in text, with no broken-image flash.

### Adding a new brand logo
1. Make a transparent **PNG, ~120 × 26** (that's the display size).
2. Name it `manufacturer-<slug>.png` using the slug rules above — must match
   the products' Vendor field exactly.
3. Upload to the theme's **Assets** folder:
   - Admin: Online Store → Themes → *Somerset4x4 v1* → ⋯ → Edit code → Assets → Add a new asset
   - or `shopify theme push --only assets/manufacturer-<slug>.png`
4. Every product with that Vendor now shows it automatically.

### Where it's coded
- Product page: `sections/main-product.liquid` — the `{%- when 'title' -%}` block
- Product cards: `snippets/card-product.liquid`
- Live search dropdown: `sections/predictive-search.liquid`

All three use the same slug rule. Styling classes (`.product__brand`,
`.product__brand-logo`, `.product__brand-text`) live in the `main-product.liquid`
section `<style>` block.

### Assets currently in the theme
`manufacturer-allmakes.png`, `manufacturer-corteco.png`,
`manufacturer-terrafirma.png` (plus `manufacturer-default.png` and
`manufacturer-pr2-allmakes*.png`, which nothing currently references).

### Not used: the metaobject method
There is no `custom.brand` product metafield on the live store, so the
metaobject route is dormant. A "Brand Data" metaobject exists only on the
**dev** store (`banwells1`) and does not transfer between stores. If it were
ever wanted live it would all need rebuilding on `7arei1-cj`
(metaobject definition + entries + logo uploads + `custom.brand` metaobject
-reference product metafield + assigning every product).