Siêu công cụ tìm kiếm sản phẩm CANIFA - Hỗ trợ Parallel Multi-Search.

⚠️⚠️⚠️ QUY TẮC BẮT BUỘC ⚠️⚠️⚠️

1. TUYỆT ĐỐI CẤM BỊA MÃ SẢN PHẨM — Chỉ đề cập khi tool trả về
2. LUÔN GỌI TOOL khi user hỏi về sản phẩm — KHÔNG đoán/nhớ
3. Không tìm thấy → nói thật, gợi ý tiêu chí khác
4. AI_RESPONSE chỉ sinh SAU KHI có kết quả tool

QUY TẮC SINH QUERIES:
- 1 món → 1 Query
- Set đồ/phối đồ → 2-3 Queries song song

═══════════════════════════════════════════════════════════════
🚨🚨🚨 FOLLOW-UP PHỐI ĐỒ — ĐỌC CONTEXT TRƯỚC KHI SEARCH! 🚨🚨🚨
═══════════════════════════════════════════════════════════════

Khi user hỏi "phối với gì", "mặc với quần nào", "kết hợp gì" SAU KHI đã xem SP:
→ BẮT BUỘC search MÓN BỔ SUNG, KHÔNG search lại món đang xem!

Quy tắc: ĐỌC [LAST_ACTION] / history → xác định SP hiện tại → search COMPLEMENT.

VÍ DỤ:
```
Context: Vừa show Áo phông nam
User: "mặc với quần nào?"
❌ SAI: description = "Áo phông nam dễ phối quần" → tìm lại ÁO!
✅ ĐÚNG: description = "product_name: Quần. description_text: Quần nam đi chơi phối áo phông"
         product_line_vn: "Quần", gender: "men"

Context: Vừa show Quần khaki nam
User: "phối áo gì đẹp?"
✅ ĐÚNG: description = "product_name: Áo. description_text: Áo nam phối quần khaki phong cách"
         product_line_vn: "Áo", gender: "men"

Context: Vừa show Váy liền nữ
User: "kết hợp gì cho đẹp?"
✅ ĐÚNG: description = "product_name: Áo khoác. description_text: Áo khoác nữ phối váy thanh lịch"
         product_line_vn: "Áo khoác", gender: "women"
```

⚠️ NGUYÊN TẮC: User hỏi "mặc với X nào" → X = thứ cần tìm, KHÔNG PHẢI thứ đang xem!

═══════════════════════════════════════════════════════════════
🎯 SINH QUERY THEO HOÀN CẢNH — TƯ DUY SET ĐỒ, KHÔNG CHỈ 1 MÓN!
═══════════════════════════════════════════════════════════════

Khi user nói DỊP / HOÀN CẢNH (không nói rõ loại SP), bot TỰ SUY LUẬN set đồ phù hợp.
BẮT BUỘC sinh 2-3 queries song song cho OUTFIT ĐẦY ĐỦ (áo + quần/váy).

**3 BƯỚC TƯ DUY:**
1. Hoàn cảnh → Cần mặc kiểu gì? (thoáng mát? lịch sự? ấm?)
2. Items cần → Áo gì + Quần/Váy gì?
3. Sinh multi-query → 2-3 searches song song

**VÍ DỤ THỰC TẾ:**

```
User: "đi biển nhé"
→ Tư duy: biển = nóng, thoáng mát, năng động
→ Query 1: description="product_name: Áo phông. description_text: Áo phông thoáng mát đi biển nghỉ mát. season: Spring Summer"
           product_line_vn: "Áo phông"
→ Query 2: description="product_name: Quần soóc. description_text: Quần soóc đi biển thoáng mát năng động. season: Spring Summer"
           product_line_vn: "Quần soóc"

User: "đi chơi với gái nhé"
→ Tư duy: hẹn hò = mua cho BẢN THÂN NAM, trẻ trung
→ Query 1: description="product_name: Áo Polo. description_text: Áo Polo nam trẻ trung lịch sự đi chơi. style: Smart Casual"
           gender: "men", product_line_vn: "Áo"
→ Query 2: description="product_name: Quần Khaki. description_text: Quần khaki nam gọn gàng phối áo polo. style: Smart Casual"
           gender: "men", product_line_vn: "Quần"

User: "đi làm văn phòng"
→ Tư duy: công sở = lịch sự, chuyên nghiệp
→ Query 1: description="product_name: Áo Sơ mi. description_text: Áo sơ mi công sở lịch sự chuyên nghiệp. style: Smart Casual"
           product_line_vn: "Áo Sơ mi"
→ Query 2: description="product_name: Quần Khaki. description_text: Quần khaki công sở thanh lịch dáng đẹp. style: Smart Casual"
           product_line_vn: "Quần"

User: "đi đám cưới"
→ Tư duy: tiệc cưới = sang trọng, lịch sự
→ Query 1: description="product_name: Áo Sơ mi. description_text: Áo sơ mi lịch sự sang trọng đi tiệc cưới. style: Smart Casual"
           product_line_vn: "Áo Sơ mi"
→ Query 2: description="product_name: Quần Khaki. description_text: Quần khaki lịch sự đi tiệc. style: Smart Casual"
           product_line_vn: "Quần"

User: "đi tập gym"
→ Tư duy: thể thao = co giãn, thoáng khí
→ Query 1: description="product_name: Áo. description_text: Áo thể thao tập gym thoáng khí co giãn. style: Athleisure"
           product_line_vn: "Áo"
→ Query 2: description="product_name: Quần soóc. description_text: Quần soóc thể thao tập gym co giãn thoáng mát. style: Athleisure"
           product_line_vn: "Quần soóc"

User: "du lịch Đà Lạt, lạnh lắm"
→ Tư duy: lạnh = cần áo ấm + quần dài
→ Query 1: description="product_name: Áo khoác. description_text: Áo khoác giữ ấm đi du lịch. season: Fall Winter"
           product_line_vn: "Áo khoác"
→ Query 2: description="product_name: Quần dài. description_text: Quần dài giữ ấm đi du lịch mùa đông. season: Fall Winter"
           product_line_vn: "Quần"
→ Query 3: description="product_name: Áo len. description_text: Áo len ấm áp mặc trong layer. season: Fall Winter"
           product_line_vn: "Áo len"

User: "ở nhà chill thôi"
→ Tư duy: ở nhà = thoải mái, mềm mại
→ Query 1: description="product_name: Bộ mặc nhà. description_text: Bộ mặc nhà thoải mái mềm mại thư giãn"
           product_line_vn: "Bộ mặc nhà"

User: "đi picnic cuối tuần"
→ Tư duy: outdoor = năng động, dễ di chuyển
→ Query 1: description="product_name: Áo phông. description_text: Áo phông năng động thoải mái đi chơi ngoài trời. style: Dynamic"
           product_line_vn: "Áo phông"
→ Query 2: description="product_name: Quần soóc. description_text: Quần soóc năng động thoải mái dễ vận động. style: Dynamic"
           product_line_vn: "Quần soóc"

User: "đi concert / lễ hội"
→ Tư duy: nổi bật, cá tính
→ Query 1: description="product_name: Áo phông. description_text: Áo phông cá tính nổi bật trendy đi lễ hội. style: Trend"
           product_line_vn: "Áo phông"
→ Query 2: description="product_name: Quần jean. description_text: Quần jean phong cách cá tính. style: Trend"
           product_line_vn: "Quần jean"
```

⚠️ NGUYÊN TẮC VÀNG:
- DỊP = luôn sinh 2-3 queries (áo + quần/váy) → set đồ đầy đủ
- TÊN SP CỤ THỂ = chỉ 1 query (user đã nói rõ muốn gì)
- TỰ SUY LUẬN dịp bất kỳ — không cần bảng cứng!
- Nóng = quần soóc + áo phông. Lạnh = áo khoác + quần dài. Lịch sự = sơ mi + khaki.

═══════════════════════════════════════════════════════════════
⚠️ PHÂN BIỆT: `description` vs SQL FILTER
═══════════════════════════════════════════════════════════════

🔍 `description` — SEMANTIC SEARCH (format DB columns):
  product_name: [tên SP BỎ MÀU SẮC!]. description_text: [mô tả chi tiết SP].
  material_group: [chất liệu]. season: [mùa]. style: [phong cách].
  fitting: [dáng]. form_neckline: [cổ]. form_sleeve: [tay]. product_line_vn: [dòng SP].

⚠️ description_text BẮT BUỘC LUÔN CÓ — mô tả ngắn gọn sản phẩm, dùng cho semantic search!
⛔ TUYỆT ĐỐI CẤM nhét tên màu (trắng, đen, xanh lá...), giới tính (nam, nữ), độ tuổi vào trong `description` hay `description_text`!
  ❌ SAI: description_text: "Áo sơ mi nữ màu xanh lá lịch sự" (Có Màu & Giới Tính → Gây nhiễu Vector Search → Kết quả = 0!)
  ✅ ĐÚNG: description_text: "Áo sơ mi lịch sự thanh lịch phối đi làm đi chơi" (Cực sạch sẽ, nhường Màu và Giới Tính cho SQL Filter xử lý!)

🔒 SQL FILTER (tách riêng, KHÔNG đưa vào description):
- product_name: Tên sản phẩm. Chỉ điền khi khách cung cấp tên cụ thể.
- gender_by_product — women, men, boy, girl, unisex, newborn
- age_by_product — adult, kid, others
- master_color — Màu sản phẩm. Gửi CHÍNH XÁC từ khách nói (VD: 'trắng', 'đen', 'xanh'). Tool tự match DB.
- price_min / price_max — Khoảng giá VND
- discount_min / discount_max — % giảm giá
- magento_ref_code — Mã SKU chính xác
- product_line_vn — Dòng SP RỘNG. Dùng LIKE prefix nên chỉ cần "Áo", "Quần", "Váy"
- discovery_mode — "new" (hàng mới) hoặc "best_seller" (bán chạy). Chỉ dùng khi khách NÓI RÕ!

═══════════════════════════════════════════════════════════════
🆕🔥 discovery_mode — HÀNG MỚI / BÁN CHẠY
═══════════════════════════════════════════════════════════════

TRIGGER WORDS (phát hiện 1 trong các từ này → dùng discovery_mode):
- Hàng mới: "mới nhất", "hàng mới", "mới về", "new arrival", "có gì mới", "mới ra"
- Bán chạy: "bán chạy", "best seller", "hot nhất", "mọi người hay mua", "sản phẩm hot"

GIÁ TRỊ: discovery_mode="new" HOẶC discovery_mode="best_seller"

⛔⛔⛔ CẤM TỰ SINH discovery_mode KHI KHÁCH KHÔNG NÓI! ⛔⛔⛔
- Chỉ dùng khi câu của khách CÓ CHỨA trigger word ở trên!
- "đi chơi với gái" → discovery_mode: null (KHÔNG có từ "bán chạy" / "mới"!)
- "tìm áo đi chơi" → discovery_mode: null
- "mặc gì đi đám cưới" → discovery_mode: null
- "áo phông nam" → discovery_mode: null
- KHÔNG BIẾT → null. CHỈ khi user NÓI RÕ "bán chạy" / "mới nhất" → mới điền!

```
❌ SAI: User "tìm áo đi chơi" → discovery_mode: "best_seller"
   → KHÁCH KHÔNG HỎI BÁN CHẠY! → ra tất nữ + quần lót bé gái = RÁC!
✅ ĐÚNG: User "tìm áo đi chơi" → discovery_mode: null
✅ ĐÚNG: User "áo bán chạy nhất" → discovery_mode: "best_seller"
```

VÍ DỤ discovery_mode:
- "Áo phông mới nhất?" → description: "product_name: Áo phông. description_text: Áo phông mới nhất", product_line_vn: "Áo phông", discovery_mode: "new"
- "Quần jean bán chạy cho nam?" → description: "product_name: Quần jean. description_text: Quần jean nam bán chạy", product_line_vn: "Quần jean", gender: "men", discovery_mode: "best_seller"
- "Áo dự tiệc nào bán nhiều nhất?" → description: "product_name: Áo. description_text: Áo đi dự tiệc sang trọng. style: Feminine", product_line_vn: "Áo", discovery_mode: "best_seller"
- "Best seller tháng này?" → description: "product_name: Sản phẩm. description_text: Sản phẩm bán chạy nhất", discovery_mode: "best_seller"
- "Tìm áo phông nam" (KHÔNG nói mới/bán chạy) → discovery_mode: None (bình thường)

⚠️ best_seller — BẮT BUỘC hiển thị quantity_sold:
- TỪNG sản phẩm PHẢI có số lượng đã bán: "Đã bán 4.483 sp 🔥"
- VD: "👕 [8TP25A005]: Áo polo nam - 229k (giảm từ 399k) | Đã bán 4.483 sp 🔥"

═══════════════════════════════════════════════════════════════
🚨🚨🚨 QUY TẮC product_name — CỰC KỲ QUAN TRỌNG (CẤM NHÉT MÀU SẮC) 🚨🚨🚨
═══════════════════════════════════════════════════════════════

product_name = CÂU USER NÓI, NHƯNG BẮT BUỘC PHẢI LOẠI BỎ TỪ CHỈ MÀU SẮC!

⚠️ NẾU KHÁCH CÓ NHẮC TỚI MÀU SẮC, BẮT BUỘC TÁCH MÀU RA KHỎI TÊN SẢN PHẨM:
- User nói "áo sơ mi xanh lá" → product_name: "Áo sơ mi" | master_color: "xanh lá"
- User nói "quần jean đen" → product_name: "Quần jean" | master_color: "đen"
- User nói "áo phông trắng" → product_name: "Áo phông" | master_color: "trắng"
⛔ TUYỆT ĐỐI KHÔNG ĐỂ MÀU SẮC LỌT VÀO `product_name` (Ví dụ: product_name="Áo sơ mi xanh lá" sẽ gây lỗi database database).

QUY TẮC TỰ ĐỔI TÊN: KHÔNG ĐƯỢC TỰ THÊM TỪ!
User nói "áo" → product_name: Áo (KHÔNG tự thêm "phông", "polo"!)
User nói "quần" → product_name: Quần (KHÔNG tự thêm "jean", "khaki"!)
User nói "áo ngọ nguậy" → product_name: Áo ngọ nguậy
User nói "áo cá sấu" → product_name: Áo cá sấu
User nói "áo phông" → product_name: Áo phông (user NÓI RÕ thì mới dùng)
User nói "quần jean" → product_name: Quần jean (user NÓI RÕ thì mới dùng)

Chỉ CHUẨN HÓA khi user dùng từ đồng nghĩa RÕ RÀNG (bảng mapping dưới):

📋 BẢNG MAPPING SYNONYM → TÊN DB (tool tự xử lý, LLM giữ nguyên từ user):
  áo thun, áo thun ngắn tay, áo cổ v, áo cổ tym → Áo phông
  áo cổ bẻ → Áo Polo
  áo bra, áo bra active, bra → Áo bra active (liên quan: Áo lót)
  áo ngực, áo quây → Áo lót (liên quan: Áo bra active)
  áo gió, áo khoác mỏng → Áo khoác gió
  áo croptop, croptop, baby tee, áo lửng, áo dáng ngắn → Áo Body
  áo sát nách, tanktop, tank top, áo dây, áo 2 dây, áo hai dây → Áo ba lỗ
  đầm → Váy liền
  vớ → Tất
  quần đùi, quần short, quần lửng, quần ngố → Quần soóc
  quần jogger, quần ống bo chun → Quần nỉ
  quần chip, quần sịp, quần trong, quần nhỏ, quần xơ lít, quần xì, quần sơ lít, quần lót nữ, quần lót nam, quần lót trẻ em → Quần lót
  quần âu, quần vải, quần tây → Quần Khaki
  quần bò, quần jeans, denim, jeans, bò → Quần jean
  quần suông, quần ống rộng → Quần dài
  quần dài, chân váy dài, chân váy → Quần váy
  nón → Mũ
  đồ ngủ, đồ mặc nhà → Bộ mặc nhà
  đồ bộ → Bộ quần áo
  váy maxi, váy midi, chân váy dài → Chân váy
  găng tay → Găng tay chống nắng
  chăn → Chăn cá nhân
  phụ kiện, phụ kiện canifa → Mũ, Khăn, Tất, Găng tay (nhiều loại)

⚠️ Tool tự resolve synonym → DB value. LLM chỉ cần giữ NGUYÊN từ user nói!
⚠️ KHÔNG CHẮC → GIỮ NGUYÊN. KHÔNG TỰ SUY DIỄN LOẠI SẢN PHẨM!

═══════════════════════════════════════════════════════════════
📖 product_line_vn — PHÂN LOẠI RỘNG (SQL FILTER dùng LIKE prefix)
═══════════════════════════════════════════════════════════════

⚠️ product_line_vn = THỂ LOẠI RỘNG, KHÔNG phải loại cụ thể!
SQL dùng LIKE prefix: "Áo" sẽ match "Áo phông", "Áo Polo", "Áo Sơ mi"...

QUY TẮC:
- User nói "áo" chung → product_line_vn: "Áo" (match TẤT CẢ loại áo)
- User nói "quần" chung → product_line_vn: "Quần" (match tất cả loại quần)
- User nói "váy" chung → product_line_vn: "Váy" (match tất cả)
- User nói RÕ loại cụ thể "áo polo" → product_line_vn: "Áo Polo"
- User nói RÕ loại cụ thể "quần jean" → product_line_vn: "Quần jean"

KHÔNG TỰ THU HẸP: User nói "áo" → ĐỪNG tự đổi thành "Áo phông"!

Bảng tham khảo (chỉ dùng khi user NÓI RÕ loại):
ÁO: Áo phông, Áo Polo, Áo Sơ mi, Áo len, Áo nỉ, Áo khoác gió
QUẦN: Quần soóc, Quần jean, Quần Khaki, Quần dài, Quần nỉ
VÁY: Váy liền, Chân váy
BỘ: Bộ quần áo, Bộ mặc nhà
PHỤ KIỆN: Khăn, Mũ, Túi xách, Tất, Khẩu trang

═══════════════════════════════════════════════════════════════
📖 GIÁ TRỊ HỢP LỆ CỦA CÁC FIELD KHÁC
═══════════════════════════════════════════════════════════════

product_name: Tên sản phẩm. Chỉ điền khi khách cung cấp tên cụ thể.
master_color — TÁCH LẤY CHÍNH XÁC TỪ CHỈ MÀU SẮC khách nói (VD: Khách nói "áo màu xanh nước biển" -> BẮT BUỘC chỉ trả về "xanh nước biển". Tuyệt đối KHÔNG TRẢ VỀ chứa chữ "màu" hay các từ thừa). ĐÂY LÀ SQL FILTER, KHÔNG đưa vào description!
style — Basic, Dynamic, Feminine, Utility, Smart Casual, Trend, Athleisure, Essential
fitting — Regular, Slimfit, Relax, Oversize, Skinny, Slim, Boxy, Baby tee
form_sleeve — Full length Sleeve, Short Sleeve, Sleeveless
form_neckline — Crew Neck, Classic Collar, V-neck, Hooded collar, Mock Neck/ High neck
material_group — Knit - Dệt Kim, Woven - Dệt Thoi, Yarn - Sợi
season — Fall Winter, Spring Summer, Year

═══════════════════════════════════════════════════════════════
⛔⛔⛔ TỐI HẬU THƯ — gender_by_product / age_by_product ⛔⛔⛔
═════════════════════════════════════════════════════════════

CẤM TUYỆT ĐỐI tự suy diễn gender/age khi user CHƯA NÓI RÕ!

User nói "áo lót" → gender: null, age: null (CẤM tự điền "women"!)
User nói "áo bra" → gender: null, age: null (CẤM tự điền "women"!)
User nói "quần lót" → gender: null, age: null
User nói "áo phông" → gender: null, age: null
→ Vì có thể là cho nam, nữ, trẻ em — KHÔNG BIẾT thì KHÔNG ĐIỀN!

CHỈ ĐIỀN KHI USER NÓI RÕ:
- "áo lót nữ" → gender: "women"
- "áo lót trẻ em" → age: "kid"
- "áo phông nam" → gender: "men"
- "quần cho bé trai" → gender: "boy", age: "kid"

⚠️ GHI NHỚ: Để null = tìm TẤT CẢ (nam + nữ + trẻ em). Điền sai = MẤT kết quả!

═══════════════════════════════════════════════════════════════
📝 VÍ DỤ (description_text LUÔN CÓ!)
═══════════════════════════════════════════════════════════════

CASE 1: "Tìm áo đi chơi" (user chỉ nói "áo" — KHÔNG nói loại gì)
→ description: "product_name: Áo. description_text: Áo đi chơi thoải mái phong cách trẻ trung. style: Casual"
→ product_line_vn: "Áo" (RỘNG — match tất cả loại áo)
⚠️ KHÔNG tự đổi thành "Áo phông" hay "Áo Polo" — user đéo nói!

CASE 2: "Tìm áo ngọ nguậy"
→ description: "product_name: Áo ngọ nguậy. description_text: Áo ngọ nguậy thiết kế vui nhộn"
→ product_line_vn: "Áo"

CASE 3: "Áo phông nam màu trắng dáng regular" (user NÓI RÕ "áo phông")
→ description: "product_name: Áo phông. description_text: Áo phông nam dáng regular thoải mái. fitting: Regular"
→ master_color: "trắng"
→ gender_by_product: "men", age_by_product: "adult"
→ product_line_vn: "Áo phông"

CASE 4: "Váy nữ tính cho vợ, dưới 500k"
→ description: "product_name: Váy. description_text: Váy nữ tính sang trọng thanh lịch. style: Feminine"
→ gender_by_product: "women", age_by_product: "adult", price_max: 500000
→ product_line_vn: "Váy"

CASE 5: "Áo Polo ngắn tay basic cho nam, giảm giá 30-50%"
→ description: "product_name: Áo Polo. description_text: Áo Polo nam ngắn tay phong cách basic lịch sự. style: Basic. form_sleeve: Short Sleeve"
→ gender_by_product: "men", age_by_product: "adult", discount_min: 30, discount_max: 50
→ product_line_vn: "Áo Polo"

CASE 6: "Quần cho bé trai"
→ description: "product_name: Quần. description_text: Quần cho bé trai năng động thoải mái"
→ gender_by_product: "boy", age_by_product: "kid"
→ product_line_vn: "Quần"

CASE 7: "Set đồ công sở cho nữ" → 2 Queries:
  1. description: "product_name: Áo. description_text: Áo công sở nữ thanh lịch chuyên nghiệp. style: Smart Casual"
     gender: "women", age: "adult", product_line_vn: "Áo"
  2. description: "product_name: Quần. description_text: Quần công sở nữ thanh lịch form đẹp. style: Smart Casual"
     gender: "women", age: "adult", product_line_vn: "Quần"

CASE 8: "Tìm mã 6KS25S005"
→ magento_ref_code: "6KS25S005", description: "product_name: Sản phẩm. description_text: Tìm sản phẩm theo mã"

CASE 9: "Áo cá sấu polo đi chơi"
→ description: "product_name: Áo cá sấu polo. description_text: Áo cá sấu polo đi chơi năng động trẻ trung. style: Dynamic"
→ product_line_vn: "Áo Polo"

CASE 10: "Áo khaki"
→ description: "product_name: Áo khaki. description_text: Áo chất liệu khaki form đẹp"
→ product_line_vn: "Áo"

CASE 11: "Áo bra" → product_name PHẢI là "Áo bra" (tool tự resolve → Áo bra active + Áo lót)
→ description: "product_name: Áo bra. description_text: Áo bra active thể thao thoáng mát co giãn tốt hỗ trợ tập luyện"
→ product_name: "Áo bra"
→ product_line_vn: "Áo"
⚠️ KHÔNG tự suy gender/age! User nói "áo bra" chung → để null.

CASE 12: "Áo lót" → product_name PHẢI là "Áo lót" (tool tự resolve → Áo lót + Áo bra active)
→ description: "product_name: Áo lót. description_text: Áo lót thoáng mát mềm mại thoải mái"
→ product_name: "Áo lót"
→ product_line_vn: "Áo"
⚠️ KHÔNG tự suy gender/age! Chỉ điền khi user NÓI RÕ (VD: "áo lót nữ" → women, "áo lót trẻ em" → kid)
⚠️ Tool tự tìm CẢ 2 loại (Áo lót + Áo bra active) nhờ RELATED_LINES — LLM chỉ cần giữ đúng tên user nói!

═══════════════════════════════════════════════════════════════
🎉 DỊP LỄ / SỰ KIỆN — description_text ghi lý do + gợi ý phong cách
═══════════════════════════════════════════════════════════════

Khi user hỏi "mặc gì dịp X" hoặc nhắc tới ngày lễ → description_text MÔ TẢ:
1. Dịp đó là gì (1 câu ngắn)
2. Nên mặc phong cách gì (1 câu)

⚠️ Danh sách dưới chỉ là VÍ DỤ phổ biến. Nếu user hỏi dịp KHÁC (sinh nhật, khai giảng, họp lớp, picnic, team building, du lịch Đà Lạt, concert, festival...) → TỰ SUY LUẬN theo pattern tương tự: mô tả dịp + gợi ý style phù hợp.

🇻🇳 SỰ KIỆN VIỆT NAM:
- Tết Nguyên Đán (tháng 1-2 AL) → description_text: "Tết Nguyên Đán lễ hội truyền thống, trang phục lịch sự sang trọng tông đỏ vàng may mắn. style: Feminine/Smart Casual"
- 8/3 Quốc tế Phụ nữ → description_text: "Ngày Quốc tế Phụ nữ 8/3, trang phục nữ tính thanh lịch tôn dáng. style: Feminine"
- 30/4 Giải phóng miền Nam → description_text: "Ngày Giải phóng 30/4 nghỉ lễ dài, trang phục đi chơi thoải mái năng động. style: Dynamic/Casual"
- 1/5 Quốc tế Lao động → description_text: "Nghỉ lễ 1/5 đi du lịch picnic, đồ thoải mái năng động dễ di chuyển. style: Athleisure/Dynamic"
- 1/6 Quốc tế Thiếu nhi → description_text: "Ngày Thiếu nhi 1/6, quần áo trẻ em vui nhộn màu sắc tươi sáng. style: Dynamic" + age: kid
- 2/9 Quốc khánh → description_text: "Quốc khánh 2/9 nghỉ lễ, trang phục đi chơi thoải mái tông đỏ vàng tự hào dân tộc. style: Dynamic/Casual"
- 20/10 Phụ nữ Việt Nam → description_text: "Ngày Phụ nữ Việt Nam 20/10, trang phục nữ tính sang trọng tôn vẻ đẹp phụ nữ. style: Feminine"
- 20/11 Nhà giáo VN → description_text: "Ngày Nhà giáo 20/11, trang phục lịch sự thanh lịch trang trọng. style: Smart Casual"

🌍 SỰ KIỆN QUỐC TẾ:
- 14/2 Valentine → description_text: "Valentine ngày tình nhân, trang phục lãng mạn đẹp đôi hẹn hò. style: Feminine/Smart Casual"
- Halloween (31/10) → description_text: "Halloween lễ hội hóa trang, trang phục cá tính độc đáo tông đen cam. style: Trend/Dynamic"
- Noel/Giáng sinh (25/12) → description_text: "Giáng sinh Noel lễ hội ấm áp, trang phục ấm đẹp tông đỏ xanh trắng. style: Smart Casual. season: Fall Winter"

📋 DỊP CHUNG:
- Đám cưới → description_text: "Đi đám cưới tiệc cưới, trang phục lịch sự sang trọng trang nhã. style: Feminine/Smart Casual"
- Đi làm/công sở → description_text: "Đi làm văn phòng công sở, trang phục chuyên nghiệp lịch sự gọn gàng. style: Smart Casual"
- Đi biển/du lịch → description_text: "Du lịch biển nghỉ mát, trang phục thoáng mát năng động dễ chịu. style: Dynamic. season: Spring Summer"
- Thể thao/gym → description_text: "Tập gym thể thao vận động, trang phục co giãn thoáng khí năng động. style: Athleisure"
- Hẹn hò/date → description_text: "Đi hẹn hò date, trang phục đẹp cuốn hút tự tin ấn tượng. style: Feminine/Smart Casual"
- Tiệc/party → description_text: "Đi tiệc party, trang phục nổi bật sang trọng thời thượng. style: Trend/Feminine"

VÍ DỤ DỊP LỄ:
"Mặc gì đi chơi 2/9?" → description: "product_name: Áo. description_text: Quốc khánh 2/9 nghỉ lễ đi chơi, áo thoải mái năng động tông đỏ vàng. style: Dynamic"
"Váy đi đám cưới" → description: "product_name: Váy. description_text: Váy đi đám cưới sang trọng thanh lịch trang nhã. style: Feminine"
"Đồ cho bé 1/6" → description: "product_name: Bộ quần áo. description_text: Ngày Thiếu nhi 1/6 quần áo trẻ em vui nhộn tươi sáng. style: Dynamic", age: "kid"

⚡ SUY LUẬN ĐỐI TƯỢNG (ĐỌC CONTEXT, KHÔNG FIX CỨNG):
- "vợ", "bà xã", "người yêu", "bạn gái" → gender: women, age: adult
- "chồng", "anh ấy" → gender: men, age: adult
- "con gái", "bé gái" → gender: girl, age: kid
- "con trai", "bé trai" → gender: boy, age: kid

⚠️⚠️⚠️ "GÁI" ≠ "BÉ GÁI" — ĐỌC CONTEXT! ⚠️⚠️⚠️:
- "đi chơi với gái" = hẹn hò = mua cho BẢN THÂN (nam) → gender: men
- "mua cho bạn gái" = mua cho người yêu (nữ) → gender: women
- "mua cho con gái" = mua cho bé gái → gender: girl, age: kid

❌ SAI: "đi chơi với gái" → gender: girl → ra đồ trẻ em!
✅ ĐÚNG: "đi chơi với gái" → gender: men (mua cho bản thân đi hẹn hò)
    → description: "product_name: Áo. description_text: Áo nam đi chơi phong cách trẻ trung. style: Dynamic"

