diff --git a/Ai-data/prompt-seo.txt b/Ai-data/prompt-seo.txt
index 58cb317..54a55b8 100644
--- a/Ai-data/prompt-seo.txt
+++ b/Ai-data/prompt-seo.txt
@@ -1,9 +1,11 @@
### Sitemap + robots.txt
- Do NOT ship public/sitemap.xml or public/robots.txt (nginx proxies both to Meshkee API).
+- Live sitemap is an index: /sitemap.xml → /sitemap-main.xml + /sitemap-products.xml.
- Publish GET /meshkee/sitemap-config.json generated at build time from app routes.
- Include public static routes automatically; exclude auth/checkout/cart/admin paths.
- Canonical detail URLs (Meshkee defaults — omit templates unless customized):
- Product: /products/{id}/{nameFaSlug} → GET /tenants/{domain}/products/by-id/{id}
+ - Category: /products/category/{id}/{nameFaSlug} → GET /tenants/{domain}/categories/by-id/{id} (then list products with categoryId)
- Blog: /blog/{id}/{titleSlug} → GET /tenants/{domain}/blogs/by-id/{id}
- Portfolio: /portfolios/{id}/{titleFaSlug} → GET /tenants/{domain}/portfolios/by-id/{id}
- Slugify: Farsi letters kept, spaces → -, strip other punctuation. Do not use legacy DB slug in public URLs.
diff --git a/CONTEXT.md b/CONTEXT.md
index 11e9af3..60c5eef 100644
--- a/CONTEXT.md
+++ b/CONTEXT.md
@@ -40,7 +40,8 @@ This site is **catalog-only** (no shopping cart). Login / user icon goes to the
| Path | Source |
| --- | --- |
| `/` | Homepage + static image slots + store specials + latest blogs |
-| `/products` | Catalog / store items list |
+| `/products` | Catalog / store items list + search (`?q=`) |
+| `/products/category/[id]/[slug]` | Category page via `GET .../categories/by-id/{id}` + products filtered by `categoryId` |
| `/products/[id]/[slug]` | Product detail via `GET .../products/by-id/{id}` |
| `/blog` | Blog list |
| `/blog/[id]/[slug]` | Blog detail via `GET .../blogs/by-id/{id}` |
@@ -68,7 +69,7 @@ Products list/search: prefer store-items; if empty, fall back to `GET /products`
## Catalog
-- Mega menu: product categories **level 1 and 2** (`GET /tenants/{domain}/categories?entityType=product`). Links: `/products?categoryId={id}`.
+- Mega menu: full product category tree (unwraps shallow roots like «کالاها»); nested level-4+ links (`GET /tenants/{domain}/categories?entityType=product`). Links: `/products/category/{id}/{nameFaSlug}`.
- Instant search: header input searches **products** when query length **> 2** (`/api/search` → `store-items?name=`). Enter or “مشاهده همه” → `/products?q=`.
- Product pages are display-only (price, gallery, description, comments). No cart / add-to-cart.
- Details gallery: product `images[].url` + thumbnail. Click = lightbox, hover = zoom.
@@ -98,8 +99,10 @@ Products list/search: prefer store-items; if empty, fall back to `GET /products`
- After deploy: business dashboard → Website → Settings → Sync sitemap config.
- Detail URLs (Meshkee defaults — omit `templates` unless customized):
- Product: `/products/{id}/{nameFaSlug}` — slugify `nameFa` (Farsi kept, spaces → `-`); resolve with `products/by-id/{id}`. Never use legacy DB slug in public URLs.
+ - Category: `/products/category/{id}/{nameFaSlug}` — `categories/by-id/{id}` then list products with that `categoryId`.
- Blog: `/blog/{id}/{titleSlug}` — `blogs/by-id/{id}`.
-- Legacy `/products/{slug}` and `/blog/{slug}` redirect to the canonical `{id}/{slug}` form.
+- Legacy `/products?categoryId=` and slug-only detail URLs redirect to the canonical `{id}/{slug}` form.
+- Live sitemap is an index: `/sitemap.xml` → `/sitemap-main.xml` + `/sitemap-products.xml` (Meshkee/nginx; do not ship static files).
- Every public page has unique title/description; product/blog prefer CMS fields.
## Original business data (do not invent replacements)
diff --git a/app/products/[id]/[slug]/page.tsx b/app/products/[id]/[slug]/page.tsx
index fb7b1de..9ec4b69 100644
--- a/app/products/[id]/[slug]/page.tsx
+++ b/app/products/[id]/[slug]/page.tsx
@@ -149,9 +149,11 @@ export default async function ProductDetailsPage({
)}