{
"store": {
"name": "Iconabeauty",
"tagline": "Votre boutique en ligne de confiance en Afrique de l'Ouest et Centrale",
"language": "fr",
"currency": "XOF",
"contact": {
"whatsapp": "+225 XX XXX XXX",
"email": "contact@iconabeauty.com",
"support_hours": "Lun–Dim · 8h–20h"
},
"locations": [
"Abidjan, Côte d'Ivoire",
"Kinshasa, Congo RDC"
],
"social": {
"facebook": "facebook.com/iconabeauty",
"instagram": "instagram.com/iconabeauty",
"whatsapp": "wa.me/iconabeauty",
"youtube": "youtube.com/iconabeauty"
}
},
"payment_methods": [
{
"name": "MTN Mobile Money",
"icon": "📱",
"countries": [
"Côte d'Ivoire",
"Congo RDC"
]
},
{
"name": "Orange Money",
"icon": "🟠",
"countries": [
"Côte d'Ivoire"
]
},
{
"name": "Airtel Money",
"icon": "💳",
"countries": [
"Congo RDC"
]
},
{
"name": "Virement bancaire",
"icon": "🏦",
"currencies": [
"XOF",
"CDF"
]
}
],
"delivery": [
{
"city": "Abidjan",
"flag": "🇨🇮",
"country": "Côte d'Ivoire",
"days": "2–3 jours",
"free_threshold_xof": 50000
},
{
"city": "Kinshasa",
"flag": "🇨🇩",
"country": "Congo RDC",
"days": "3–5 jours",
"free_threshold_xof": 50000
},
{
"city": "Yamoussoukro",
"flag": "🇨🇮",
"country": "Côte d'Ivoire",
"days": "3–4 jours",
"free_threshold_xof": 50000
},
{
"city": "Lubumbashi",
"flag": "🇨🇩",
"country": "Congo RDC",
"days": "4–6 jours",
"free_threshold_xof": 50000
}
],
"policies": {
"return_window_days": 30,
"return_shipping": "gratuit",
"free_delivery_threshold_xof": 50000
},
"categories": [
{
"id": "electronique",
"label": "Électronique & Gadgets",
"emoji": "📱"
},
{
"id": "maison",
"label": "Maison & Cuisine",
"emoji": "🍳"
},
{
"id": "gadgets",
"label": "Gadgets",
"emoji": "💡"
},
{
"id": "accessoires",
"label": "Accessoires",
"emoji": "🔌"
},
{
"id": "offres",
"label": "Offres Spéciales",
"emoji": "🎁"
},
{
"id": "nouveautes",
"label": "Nouveautés",
"emoji": "🚀"
}
],
"products": [
{
"id": "prod-001",
"category": "electronique",
"sub_category": "Audio",
"name": "Écouteurs Bluetooth Pro",
"emoji": "🎧",
"price_xof": 18500,
"original_price_xof": 24000,
"discount_percent": 23,
"rating": 5.0,
"review_count": 214,
"badge": "Populaire",
"badge_type": "hot",
"in_stock": true
},
{
"id": "prod-002",
"category": "electronique",
"sub_category": "Wearable",
"name": "Montre Connectée Smart",
"emoji": "⌚",
"price_xof": 32000,
"original_price_xof": 42000,
"discount_percent": 24,
"rating": 4.0,
"review_count": 98,
"badge": "Nouveau",
"badge_type": "new",
"in_stock": true
},
{
"id": "prod-003",
"category": "electronique",
"sub_category": "Énergie",
"name": "Chargeur Solaire Portable",
"emoji": "☀️",
"price_xof": 14900,
"original_price_xof": 19900,
"discount_percent": 25,
"rating": 5.0,
"review_count": 176,
"badge": "−25%",
"badge_type": "promo",
"in_stock": true
},
{
"id": "prod-004",
"category": "electronique",
"sub_category": "Sécurité",
"name": "Mini Caméra HD 1080P",
"emoji": "📷",
"price_xof": 23500,
"original_price_xof": null,
"discount_percent": 0,
"rating": 5.0,
"review_count": 312,
"badge": null,
"badge_type": null,
"in_stock": true
},
{
"id": "prod-005",
"category": "maison",
"sub_category": "Cuisine",
"name": "Mixeur Multifonction 1000W",
"emoji": "🥤",
"price_xof": 29900,
"original_price_xof": 39000,
"discount_percent": 23,
"rating": 5.0,
"review_count": 287,
"badge": "Best-seller",
"badge_type": "hot",
"in_stock": true
},
{
"id": "prod-006",
"category": "maison",
"sub_category": "Éclairage",
"name": "Lampe LED Rechargeable",
"emoji": "💡",
"price_xof": 9900,
"original_price_xof": null,
"discount_percent": 0,
"rating": 4.0,
"review_count": 143,
"badge": "Nouveau",
"badge_type": "new",
"in_stock": true
},
{
"id": "prod-007",
"category": "maison",
"sub_category": "Confort",
"name": "Ventilateur USB Silencieux",
"emoji": "🌀",
"price_xof": 12500,
"original_price_xof": 17900,
"discount_percent": 30,
"rating": 5.0,
"review_count": 201,
"badge": "−30%",
"badge_type": "promo",
"in_stock": true
},
{
"id": "prod-008",
"category": "maison",
"sub_category": "Cuisine",
"name": "Set Casseroles Inox 5 pcs",
"emoji": "🍳",
"price_xof": 44900,
"original_price_xof": 59000,
"discount_percent": 24,
"rating": 5.0,
"review_count": 95,
"badge": null,
"badge_type": null,
"in_stock": true
}
],
"reviews": [
{
"id": "rev-001",
"author": "Adjoua Koffi",
"initials": "AK",
"location": "Abidjan, Côte d'Ivoire",
"rating": 5,
"text": "Commandé les écouteurs Bluetooth un vendredi, reçus le lundi. Qualité impeccable et paiement MTN très simple. Je recommande Iconabeauty sans hésiter !",
"date": "2026-01-18"
},
{
"id": "rev-002",
"author": "Mireille Bokele",
"initials": "MB",
"location": "Kinshasa, Congo RDC",
"rating": 5,
"text": "Le mixeur est exactement comme sur les photos. Livraison rapide à Kinshasa, emballage soigné. Le service client a répondu sur WhatsApp en quelques minutes.",
"date": "2026-02-05"
},
{
"id": "rev-003",
"author": "Youssouf Touré",
"initials": "YT",
"location": "Yamoussoukro, Côte d'Ivoire",
"rating": 4,
"text": "Très belle boutique, produits de qualité. La lampe LED rechargeable fonctionne parfaitement même lors des coupures. Je reviendrai commander d'autres articles.",
"date": "2026-02-20"
}
],
"trust_features": [
{
"icon": "🚚",
"title": "Livraison rapide",
"subtitle": "Abidjan & Kinshasa · 2–5 jours"
},
{
"icon": "📲",
"title": "Mobile Money",
"subtitle": "MTN · Orange · Airtel Money"
},
{
"icon": "🔄",
"title": "Retour gratuit",
"subtitle": "30 jours satisfait ou remboursé"
},
{
"icon": "💬",
"title": "Support WhatsApp",
"subtitle": "Lun–Dim · 8h–20h"
}
],
"footer_links": {
"boutique": [
"Électronique & Gadgets",
"Maison & Cuisine",
"Nouveautés",
"Offres spéciales",
"Best-sellers"
],
"service_client": [
"Comment commander",
"Suivi de livraison",
"Retours & remboursements",
"Paiement Mobile Money",
"Contactez-nous"
]
},
"html_storefront": "<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Iconabeauty — Électronique & Maison | Abidjan · Kinshasa</title>\n <meta name=\"description\" content=\"Iconabeauty — Votre boutique en ligne en Côte d'Ivoire et au Congo. Électronique, maison & cuisine. Paiement Mobile Money. Livraison rapide.\" />\n <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />\n <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin />\n <link href=\"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Outfit:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\" />\n\n <style>\n *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n :root {\n --sand: #f7f2ea;\n --cream: #fffdf8;\n --dark: #141210;\n --brown: #4a3728;\n --muted: #9c8f84;\n --border: #e8dfd2;\n --gold: #c8922a;\n --gold-lt: #e8b84b;\n --terracotta:#c4501a;\n --forest: #2d5a3d;\n --surface: #ffffff;\n --shadow-sm: 0 1px 8px rgba(20,18,16,0.07);\n --shadow-md: 0 4px 24px rgba(20,18,16,0.11);\n --shadow-lg: 0 12px 48px rgba(20,18,16,0.15);\n }\n\n html { scroll-behavior: smooth; }\n\n body {\n background: var(--sand);\n color: var(--dark);\n font-family: 'Outfit', sans-serif;\n font-size: 15px;\n line-height: 1.6;\n overflow-x: hidden;\n }\n\n ::-webkit-scrollbar { width: 5px; }\n ::-webkit-scrollbar-track { background: var(--sand); }\n ::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 10px; }\n\n a { text-decoration: none; color: inherit; }\n\n /* ══════════ ANIMATIONS ══════════ */\n @keyframes fadeUp {\n from { opacity: 0; transform: translateY(22px); }\n to { opacity: 1; transform: translateY(0); }\n }\n @keyframes fadeIn {\n from { opacity: 0; } to { opacity: 1; }\n }\n @keyframes shimmer {\n 0% { background-position: -200% center; }\n 100% { background-position: 200% center; }\n }\n @keyframes float {\n 0%, 100% { transform: translateY(0px); }\n 50% { transform: translateY(-8px); }\n }\n @keyframes pulse-dot {\n 0%, 100% { transform: scale(1); opacity: 1; }\n 50% { transform: scale(1.5); opacity: 0.5; }\n }\n\n .reveal {\n opacity: 0;\n transform: translateY(28px);\n transition: opacity 0.65s ease, transform 0.65s ease;\n }\n .reveal.visible { opacity: 1; transform: none; }\n\n /* ══════════ TOP BAR ══════════ */\n .topbar {\n background: var(--dark);\n padding: 0.55rem 2rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n flex-wrap: wrap;\n }\n .topbar-marquee {\n flex: 1;\n overflow: hidden;\n position: relative;\n }\n .topbar-marquee::before,\n .topbar-marquee::after {\n content: '';\n position: absolute;\n top: 0; bottom: 0;\n width: 40px;\n z-index: 1;\n }\n .topbar-marquee::before { left: 0; background: linear-gradient(to right, var(--dark), transparent); }\n .topbar-marquee::after { right: 0; background: linear-gradient(to left, var(--dark), transparent); }\n .marquee-track {\n display: flex;\n gap: 0;\n animation: marquee 28s linear infinite;\n width: max-content;\n }\n @keyframes marquee {\n from { transform: translateX(0); }\n to { transform: translateX(-50%); }\n }\n .marquee-item {\n font-size: 0.72rem;\n font-weight: 600;\n letter-spacing: 0.12em;\n text-transform: uppercase;\n color: #b8aa98;\n padding: 0 2.5rem;\n display: flex;\n align-items: center;\n gap: 0.6rem;\n white-space: nowrap;\n }\n .marquee-dot { width: 4px; height: 4px; background: var(--gold); border-radius: 50%; }\n .marquee-item span.highlight { color: var(--gold-lt); }\n\n .topbar-flags {\n display: flex;\n align-items: center;\n gap: 0.6rem;\n font-size: 0.72rem;\n font-weight: 600;\n color: #7a6e64;\n letter-spacing: 0.05em;\n flex-shrink: 0;\n }\n .flag-chip {\n display: flex;\n align-items: center;\n gap: 0.3rem;\n padding: 0.2rem 0.6rem;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 4px;\n color: #b8aa98;\n }\n\n /* ══════════ NAV ══════════ */\n nav {\n background: var(--cream);\n border-bottom: 1px solid var(--border);\n position: sticky;\n top: 0;\n z-index: 300;\n box-shadow: var(--shadow-sm);\n }\n .nav-inner {\n max-width: 1280px;\n margin: 0 auto;\n padding: 0 2rem;\n display: flex;\n align-items: center;\n gap: 1.5rem;\n height: 70px;\n }\n\n .nav-logo {\n font-family: 'Cormorant Garamond', serif;\n font-weight: 700;\n font-size: 1.85rem;\n color: var(--dark);\n letter-spacing: 0.01em;\n flex-shrink: 0;\n }\n .nav-logo .icon-part { color: var(--gold); font-style: italic; }\n .nav-logo .beauty-part { font-style: italic; }\n\n .nav-search {\n flex: 1;\n max-width: 440px;\n position: relative;\n }\n .nav-search input {\n width: 100%;\n background: var(--sand);\n border: 1.5px solid var(--border);\n border-radius: 50px;\n padding: 0.6rem 1.1rem 0.6rem 2.7rem;\n font-family: 'Outfit', sans-serif;\n font-size: 0.85rem;\n color: var(--dark);\n outline: none;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n .nav-search input:focus {\n border-color: var(--gold);\n box-shadow: 0 0 0 3px rgba(200,146,42,0.12);\n }\n .nav-search input::placeholder { color: var(--muted); }\n .search-icon {\n position: absolute;\n left: 1rem;\n top: 50%;\n transform: translateY(-50%);\n color: var(--muted);\n pointer-events: none;\n }\n\n .nav-right { display: flex; align-items: center; gap: 0.4rem; margin-left: auto; }\n\n .nav-icon-btn {\n background: none;\n border: none;\n cursor: pointer;\n color: var(--brown);\n width: 42px; height: 42px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.15s, color 0.15s;\n position: relative;\n }\n .nav-icon-btn:hover { background: var(--sand); color: var(--gold); }\n\n .cart-badge {\n position: absolute;\n top: 6px; right: 6px;\n background: var(--terracotta);\n color: #fff;\n font-size: 0.6rem;\n font-weight: 700;\n width: 15px; height: 15px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .nav-order-btn {\n background: var(--gold);\n color: #fff;\n font-family: 'Outfit', sans-serif;\n font-size: 0.82rem;\n font-weight: 700;\n padding: 0.55rem 1.3rem;\n border: none;\n border-radius: 50px;\n cursor: pointer;\n white-space: nowrap;\n transition: background 0.2s, transform 0.15s;\n letter-spacing: 0.02em;\n }\n .nav-order-btn:hover { background: #a87820; transform: translateY(-1px); }\n\n /* ══════════ CAT BAR ══════════ */\n .cat-bar {\n background: var(--cream);\n border-bottom: 1px solid var(--border);\n }\n .cat-bar-inner {\n max-width: 1280px;\n margin: 0 auto;\n padding: 0 2rem;\n display: flex;\n align-items: center;\n gap: 0;\n overflow-x: auto;\n scrollbar-width: none;\n }\n .cat-bar-inner::-webkit-scrollbar { display: none; }\n .cat-tab {\n display: flex;\n align-items: center;\n gap: 0.45rem;\n font-size: 0.82rem;\n font-weight: 600;\n color: var(--muted);\n padding: 0.85rem 1.3rem;\n border-bottom: 2px solid transparent;\n white-space: nowrap;\n cursor: pointer;\n transition: color 0.2s, border-color 0.2s;\n }\n .cat-tab:hover { color: var(--gold); }\n .cat-tab.active { color: var(--dark); border-bottom-color: var(--gold); }\n .cat-tab .cat-emoji { font-size: 1rem; }\n\n /* ══════════ HERO ══════════ */\n .hero-wrap {\n max-width: 1280px;\n margin: 2rem auto;\n padding: 0 2rem;\n display: grid;\n grid-template-columns: 1.55fr 1fr;\n gap: 1.2rem;\n align-items: stretch;\n }\n\n /* Main hero card */\n .hero-main {\n background: var(--dark);\n border-radius: 20px;\n padding: 3.5rem 3rem 3rem;\n position: relative;\n overflow: hidden;\n min-height: 400px;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n }\n\n /* Decorative kente strip top */\n .kente-top {\n position: absolute;\n top: 0; left: 0; right: 0;\n height: 8px;\n background: repeating-linear-gradient(\n 90deg,\n var(--gold) 0, var(--gold) 18px,\n var(--gold-lt) 18px, var(--gold-lt) 30px,\n var(--terracotta) 30px, var(--terracotta) 48px,\n var(--forest) 48px, var(--forest) 60px,\n #1a1a1a 60px, #1a1a1a 72px\n );\n }\n\n /* Adinkra-inspired background pattern */\n .hero-main::before {\n content: '';\n position: absolute;\n inset: 0;\n background:\n radial-gradient(ellipse at 75% 15%, rgba(200,146,42,0.18) 0%, transparent 50%),\n radial-gradient(ellipse at 10% 85%, rgba(196,80,26,0.15) 0%, transparent 55%);\n }\n\n .hero-geo {\n position: absolute;\n top: 20px; right: 30px;\n width: 220px; height: 220px;\n opacity: 0.06;\n }\n .hero-geo circle, .hero-geo path { fill: none; stroke: #fff; stroke-width: 1; }\n\n .hero-eyebrow {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n background: rgba(200,146,42,0.18);\n border: 1px solid rgba(200,146,42,0.4);\n color: var(--gold-lt);\n font-size: 0.68rem;\n font-weight: 700;\n letter-spacing: 0.18em;\n text-transform: uppercase;\n padding: 0.3rem 0.85rem;\n border-radius: 4px;\n margin-bottom: 1.2rem;\n width: fit-content;\n animation: fadeUp 0.5s ease both;\n }\n .live-dot {\n width: 6px; height: 6px;\n background: var(--gold-lt);\n border-radius: 50%;\n animation: pulse-dot 1.4s infinite;\n }\n\n .hero-title {\n font-family: 'Cormorant Garamond', serif;\n font-weight: 700;\n font-size: clamp(2.2rem, 3.8vw, 3.6rem);\n color: #fff;\n line-height: 1.08;\n letter-spacing: -0.01em;\n margin-bottom: 1rem;\n position: relative;\n animation: fadeUp 0.5s 0.1s ease both;\n }\n .hero-title em {\n font-style: italic;\n color: var(--gold-lt);\n }\n\n .hero-sub {\n font-size: 0.95rem;\n color: #a8998c;\n font-weight: 300;\n max-width: 420px;\n margin-bottom: 2.2rem;\n position: relative;\n animation: fadeUp 0.5s 0.2s ease both;\n line-height: 1.75;\n }\n\n .hero-btns {\n display: flex;\n gap: 0.9rem;\n position: relative;\n animation: fadeUp 0.5s 0.3s ease both;\n }\n\n .btn-gold {\n background: var(--gold);\n color: #fff;\n font-family: 'Outfit', sans-serif;\n font-size: 0.88rem;\n font-weight: 700;\n padding: 0.8rem 2rem;\n border: none;\n border-radius: 50px;\n cursor: pointer;\n transition: background 0.2s, transform 0.15s;\n letter-spacing: 0.02em;\n }\n .btn-gold:hover { background: #a87820; transform: translateY(-2px); }\n\n .btn-outline-white {\n background: transparent;\n color: rgba(255,255,255,0.85);\n font-family: 'Outfit', sans-serif;\n font-size: 0.88rem;\n font-weight: 600;\n padding: 0.8rem 2rem;\n border: 1px solid rgba(255,255,255,0.2);\n border-radius: 50px;\n cursor: pointer;\n transition: border-color 0.2s, color 0.2s;\n }\n .btn-outline-white:hover { border-color: rgba(255,255,255,0.5); color: #fff; }\n\n /* Hero floating product */\n .hero-float {\n position: absolute;\n right: 3rem;\n bottom: 2.5rem;\n animation: float 4s ease-in-out infinite;\n }\n .hero-float-card {\n background: rgba(255,255,255,0.07);\n backdrop-filter: blur(12px);\n border: 1px solid rgba(255,255,255,0.12);\n border-radius: 16px;\n padding: 1rem 1.2rem;\n text-align: center;\n min-width: 120px;\n }\n .hero-float-emoji { font-size: 3.2rem; display: block; margin-bottom: 0.4rem; }\n .hero-float-name { font-size: 0.72rem; color: rgba(255,255,255,0.7); font-weight: 600; }\n .hero-float-price {\n font-family: 'Cormorant Garamond', serif;\n font-size: 1.1rem;\n font-weight: 700;\n color: var(--gold-lt);\n }\n\n /* Hero side stack */\n .hero-side { display: flex; flex-direction: column; gap: 1.2rem; }\n\n .hero-side-card {\n border-radius: 16px;\n padding: 1.8rem 2rem;\n flex: 1;\n position: relative;\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.25s;\n }\n .hero-side-card:hover { transform: translateY(-2px); }\n .hsc-1 { background: linear-gradient(135deg, #1e3a28 0%, #2d5a3d 100%); }\n .hsc-2 { background: linear-gradient(135deg, #3a1e0e 0%, #7a3010 100%); }\n\n .hsc-kente {\n position: absolute;\n left: 0; top: 0; bottom: 0;\n width: 4px;\n background: repeating-linear-gradient(\n 180deg,\n var(--gold) 0, var(--gold) 12px,\n transparent 12px, transparent 20px\n );\n }\n\n .hsc-tag {\n font-size: 0.65rem;\n font-weight: 700;\n letter-spacing: 0.18em;\n text-transform: uppercase;\n color: rgba(255,255,255,0.5);\n margin-bottom: 0.5rem;\n }\n .hsc-title {\n font-family: 'Cormorant Garamond', serif;\n font-size: 1.35rem;\n font-weight: 700;\n color: #fff;\n margin-bottom: 0.3rem;\n line-height: 1.2;\n }\n .hsc-sub { font-size: 0.78rem; color: rgba(255,255,255,0.5); margin-bottom: 1rem; }\n .hsc-link {\n font-size: 0.8rem;\n font-weight: 700;\n color: var(--gold-lt);\n display: flex;\n align-items: center;\n gap: 0.3rem;\n }\n .hsc-emoji {\n position: absolute;\n right: 1.5rem;\n bottom: 1rem;\n font-size: 3.5rem;\n opacity: 0.35;\n }\n\n /* ══════════ TRUST BAR ══════════ */\n .trust-bar {\n max-width: 1280px;\n margin: 0 auto 2.5rem;\n padding: 0 2rem;\n }\n .trust-bar-inner {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n background: var(--cream);\n border: 1px solid var(--border);\n border-radius: 14px;\n overflow: hidden;\n box-shadow: var(--shadow-sm);\n }\n .trust-cell {\n display: flex;\n align-items: center;\n gap: 0.9rem;\n padding: 1.2rem 1.5rem;\n border-right: 1px solid var(--border);\n transition: background 0.2s;\n }\n .trust-cell:last-child { border-right: none; }\n .trust-cell:hover { background: var(--sand); }\n .trust-ico {\n width: 42px; height: 42px;\n border-radius: 11px;\n background: linear-gradient(135deg, rgba(200,146,42,0.15), rgba(200,146,42,0.05));\n border: 1px solid rgba(200,146,42,0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.3rem;\n flex-shrink: 0;\n }\n .trust-txt-main { font-size: 0.83rem; font-weight: 700; color: var(--dark); }\n .trust-txt-sub { font-size: 0.73rem; color: var(--muted); margin-top: 1px; }\n\n /* ══════════ SECTIONS ══════════ */\n .section {\n max-width: 1280px;\n margin: 0 auto 3.5rem;\n padding: 0 2rem;\n }\n\n .sec-head {\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n margin-bottom: 1.6rem;\n gap: 1rem;\n }\n .sec-kicker {\n font-size: 0.68rem;\n font-weight: 700;\n letter-spacing: 0.22em;\n text-transform: uppercase;\n color: var(--gold);\n margin-bottom: 0.3rem;\n }\n .sec-title {\n font-family: 'Cormorant Garamond', serif;\n font-size: 1.85rem;\n font-weight: 700;\n color: var(--dark);\n letter-spacing: -0.01em;\n }\n .sec-see-all {\n font-size: 0.8rem;\n font-weight: 700;\n color: var(--gold);\n display: flex;\n align-items: center;\n gap: 0.3rem;\n white-space: nowrap;\n padding: 0.5rem 1rem;\n border: 1px solid var(--gold);\n border-radius: 50px;\n transition: background 0.2s, color 0.2s;\n }\n .sec-see-all:hover { background: var(--gold); color: #fff; }\n\n /* ══════════ PRODUCT CARDS ══════════ */\n .prod-grid {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 1.2rem;\n }\n\n .prod-card {\n background: var(--cream);\n border: 1px solid var(--border);\n border-radius: 16px;\n overflow: hidden;\n cursor: pointer;\n transition: box-shadow 0.28s, transform 0.28s;\n position: relative;\n }\n .prod-card:hover {\n box-shadow: var(--shadow-lg);\n transform: translateY(-4px);\n }\n\n .prod-img-wrap {\n aspect-ratio: 1;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .prod-bg-1 { background: linear-gradient(135deg, #fdf3e7, #fae0be); }\n .prod-bg-2 { background: linear-gradient(135deg, #e8f4ea, #cce8d4); }\n .prod-bg-3 { background: linear-gradient(135deg, #f0e8f8, #e0ccf0); }\n .prod-bg-4 { background: linear-gradient(135deg, #fde8e8, #f8cccc); }\n .prod-bg-5 { background: linear-gradient(135deg, #e8f0fd, #cce0f8); }\n .prod-bg-6 { background: linear-gradient(135deg, #fdf6e0, #f5e8bb); }\n .prod-bg-7 { background: linear-gradient(135deg, #e8fdf0, #bbf5d0); }\n .prod-bg-8 { background: linear-gradient(135deg, #fde8f4, #f5bbdd); }\n\n .prod-emoji {\n font-size: 4.5rem;\n line-height: 1;\n transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);\n filter: drop-shadow(0 6px 16px rgba(0,0,0,0.12));\n }\n .prod-card:hover .prod-emoji { transform: scale(1.15) rotate(-4deg); }\n\n .prod-badge {\n position: absolute;\n top: 0.75rem;\n left: 0.75rem;\n font-size: 0.65rem;\n font-weight: 700;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n padding: 0.25rem 0.6rem;\n border-radius: 4px;\n }\n .badge-new { background: var(--forest); color: #fff; }\n .badge-promo { background: var(--terracotta); color: #fff; }\n .badge-hot { background: var(--gold); color: #fff; }\n\n .prod-wish {\n position: absolute;\n top: 0.7rem;\n right: 0.7rem;\n width: 32px; height: 32px;\n background: rgba(255,255,255,0.85);\n border: none;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: background 0.2s, transform 0.2s;\n color: var(--muted);\n font-size: 0.9rem;\n }\n .prod-wish:hover { background: #fff; color: var(--terracotta); transform: scale(1.1); }\n\n .prod-info { padding: 1rem 1.1rem 1.2rem; }\n .prod-cat {\n font-size: 0.68rem;\n font-weight: 700;\n letter-spacing: 0.15em;\n text-transform: uppercase;\n color: var(--muted);\n margin-bottom: 0.3rem;\n }\n .prod-name {\n font-size: 0.92rem;\n font-weight: 600;\n color: var(--dark);\n margin-bottom: 0.2rem;\n line-height: 1.4;\n }\n .prod-rating {\n display: flex;\n align-items: center;\n gap: 0.3rem;\n margin-bottom: 0.7rem;\n }\n .stars { color: #f0a500; font-size: 0.72rem; letter-spacing: 1px; }\n .rating-count { font-size: 0.72rem; color: var(--muted); }\n\n .prod-price-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n }\n .prod-price {\n font-family: 'Cormorant Garamond', serif;\n font-size: 1.3rem;\n font-weight: 700;\n color: var(--dark);\n }\n .prod-price-orig {\n font-size: 0.8rem;\n color: var(--muted);\n text-decoration: line-through;\n }\n .prod-add-btn {\n width: 34px; height: 34px;\n background: var(--gold);\n border: none;\n border-radius: 50%;\n color: #fff;\n font-size: 1.3rem;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.2s, transform 0.15s;\n flex-shrink: 0;\n }\n .prod-add-btn:hover { background: #a87820; transform: scale(1.1); }\n\n /* ══════════ BANNER ══════════ */\n .promo-banner {\n max-width: 1280px;\n margin: 0 auto 3.5rem;\n padding: 0 2rem;\n }\n .promo-banner-inner {\n background: var(--dark);\n border-radius: 20px;\n padding: 3rem 4rem;\n display: grid;\n grid-template-columns: 1fr auto;\n align-items: center;\n gap: 2rem;\n position: relative;\n overflow: hidden;\n }\n .promo-banner-inner::before {\n content: '';\n position: absolute;\n inset: 0;\n background:\n radial-gradient(ellipse at 90% 50%, rgba(200,146,42,0.2) 0%, transparent 55%),\n radial-gradient(ellipse at 0% 50%, rgba(196,80,26,0.15) 0%, transparent 50%);\n }\n .promo-kente {\n position: absolute;\n bottom: 0; left: 0; right: 0;\n height: 6px;\n background: repeating-linear-gradient(\n 90deg,\n var(--gold) 0, var(--gold) 20px,\n var(--terracotta) 20px, var(--terracotta) 40px,\n var(--forest) 40px, var(--forest) 60px,\n var(--dark) 60px, var(--dark) 75px\n );\n }\n .promo-label {\n font-size: 0.7rem;\n font-weight: 700;\n letter-spacing: 0.2em;\n text-transform: uppercase;\n color: var(--gold-lt);\n margin-bottom: 0.7rem;\n position: relative;\n }\n .promo-title {\n font-family: 'Cormorant Garamond', serif;\n font-size: clamp(1.8rem, 3vw, 2.8rem);\n font-weight: 700;\n color: #fff;\n line-height: 1.1;\n position: relative;\n margin-bottom: 0.8rem;\n }\n .promo-title em { font-style: italic; color: var(--gold-lt); }\n .promo-sub {\n font-size: 0.92rem;\n color: #7a6e64;\n max-width: 460px;\n position: relative;\n }\n .promo-actions {\n display: flex;\n flex-direction: column;\n gap: 0.7rem;\n align-items: center;\n position: relative;\n }\n .promo-price-tag {\n text-align: center;\n }\n .promo-from { font-size: 0.72rem; color: #7a6e64; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }\n .promo-amount {\n font-family: 'Cormorant Garamond', serif;\n font-size: 3rem;\n font-weight: 700;\n color: var(--gold-lt);\n line-height: 1;\n }\n .promo-currency { font-size: 1rem; color: #7a6e64; }\n\n /* ══════════ PAYMENT SECTION ══════════ */\n .payment-section {\n max-width: 1280px;\n margin: 0 auto 3.5rem;\n padding: 0 2rem;\n }\n .payment-inner {\n background: var(--cream);\n border: 1px solid var(--border);\n border-radius: 20px;\n padding: 2.5rem 3rem;\n }\n .payment-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 3rem;\n align-items: center;\n }\n .payment-title {\n font-family: 'Cormorant Garamond', serif;\n font-size: 1.7rem;\n font-weight: 700;\n color: var(--dark);\n margin-bottom: 0.5rem;\n }\n .payment-sub {\n font-size: 0.9rem;\n color: var(--muted);\n margin-bottom: 2rem;\n line-height: 1.7;\n }\n .payment-methods {\n display: flex;\n flex-wrap: wrap;\n gap: 0.8rem;\n }\n .pm-chip {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n background: var(--sand);\n border: 1.5px solid var(--border);\n border-radius: 10px;\n padding: 0.6rem 1rem;\n font-size: 0.8rem;\n font-weight: 700;\n color: var(--dark);\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n .pm-chip:hover { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(200,146,42,0.1); }\n .pm-icon { font-size: 1.3rem; }\n .pm-sub { font-size: 0.65rem; color: var(--muted); font-weight: 400; }\n\n .delivery-cards {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 1rem;\n }\n .del-card {\n background: var(--sand);\n border: 1px solid var(--border);\n border-radius: 14px;\n padding: 1.3rem 1.5rem;\n }\n .del-flag { font-size: 1.8rem; margin-bottom: 0.5rem; }\n .del-city { font-size: 0.85rem; font-weight: 700; color: var(--dark); margin-bottom: 0.2rem; }\n .del-time { font-size: 0.75rem; color: var(--muted); }\n .del-free {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n background: rgba(45,90,61,0.1);\n color: var(--forest);\n font-size: 0.68rem;\n font-weight: 700;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n padding: 0.2rem 0.5rem;\n border-radius: 4px;\n margin-top: 0.5rem;\n }\n\n /* ══════════ REVIEWS ══════════ */\n .reviews-grid {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 1.2rem;\n }\n .rev-card {\n background: var(--cream);\n border: 1px solid var(--border);\n border-radius: 16px;\n padding: 1.8rem;\n transition: box-shadow 0.25s;\n }\n .rev-card:hover { box-shadow: var(--shadow-md); }\n .rev-stars { font-size: 0.85rem; color: #f0a500; margin-bottom: 0.9rem; letter-spacing: 2px; }\n .rev-text {\n font-size: 0.9rem;\n color: var(--brown);\n line-height: 1.75;\n font-style: italic;\n margin-bottom: 1.3rem;\n }\n .rev-author { display: flex; align-items: center; gap: 0.8rem; }\n .rev-avatar {\n width: 38px; height: 38px;\n border-radius: 50%;\n display: flex; align-items: center; justify-content: center;\n font-family: 'Cormorant Garamond', serif;\n font-weight: 700;\n font-size: 1rem;\n color: #fff;\n flex-shrink: 0;\n }\n .av-1 { background: linear-gradient(135deg, var(--gold), var(--terracotta)); }\n .av-2 { background: linear-gradient(135deg, var(--forest), #1a3a28); }\n .av-3 { background: linear-gradient(135deg, #7a3090, #3a1060); }\n .rev-name { font-size: 0.85rem; font-weight: 700; color: var(--dark); }\n .rev-location { font-size: 0.73rem; color: var(--muted); }\n\n /* ══════════ FOOTER ══════════ */\n footer {\n background: var(--dark);\n padding: 3.5rem 2rem 2rem;\n margin-top: 2rem;\n }\n .footer-inner {\n max-width: 1280px;\n margin: 0 auto;\n }\n .footer-top {\n display: grid;\n grid-template-columns: 1.5fr 1fr 1fr 1fr;\n gap: 3rem;\n padding-bottom: 2.5rem;\n border-bottom: 1px solid rgba(255,255,255,0.08);\n }\n .footer-logo {\n font-family: 'Cormorant Garamond', serif;\n font-size: 1.7rem;\n font-weight: 700;\n color: #fff;\n margin-bottom: 0.8rem;\n }\n .footer-logo .icon-part { color: var(--gold); font-style: italic; }\n .footer-logo .beauty-part { font-style: italic; }\n .footer-tagline { font-size: 0.85rem; color: #6a5e54; line-height: 1.7; margin-bottom: 1.5rem; }\n .footer-socials { display: flex; gap: 0.6rem; }\n .social-btn {\n width: 36px; height: 36px;\n background: rgba(255,255,255,0.06);\n border-radius: 8px;\n display: flex; align-items: center; justify-content: center;\n font-size: 0.9rem;\n color: #7a6e64;\n cursor: pointer;\n transition: background 0.2s, color 0.2s;\n }\n .social-btn:hover { background: rgba(200,146,42,0.2); color: var(--gold-lt); }\n\n .footer-col-title {\n font-size: 0.72rem;\n font-weight: 700;\n letter-spacing: 0.18em;\n text-transform: uppercase;\n color: #4a3e34;\n margin-bottom: 1.2rem;\n }\n .footer-links { display: flex; flex-direction: column; gap: 0.65rem; }\n .footer-links a {\n font-size: 0.85rem;\n color: #6a5e54;\n transition: color 0.2s;\n }\n .footer-links a:hover { color: var(--gold-lt); }\n\n .footer-bottom {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 1.5rem;\n gap: 1rem;\n flex-wrap: wrap;\n }\n .footer-copy { font-size: 0.78rem; color: #4a3e34; }\n .footer-pay-icons { display: flex; gap: 0.5rem; align-items: center; }\n .pay-icon-chip {\n background: rgba(255,255,255,0.06);\n border-radius: 5px;\n padding: 0.25rem 0.6rem;\n font-size: 0.7rem;\n font-weight: 700;\n color: #6a5e54;\n letter-spacing: 0.05em;\n }\n\n /* ══════════ CART DRAWER ══════════ */\n .cart-overlay {\n position: fixed;\n inset: 0;\n background: rgba(20,18,16,0.5);\n z-index: 500;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.3s;\n }\n .cart-overlay.open { opacity: 1; pointer-events: all; }\n\n .cart-drawer {\n position: fixed;\n top: 0; right: 0; bottom: 0;\n width: 380px;\n background: var(--cream);\n z-index: 600;\n transform: translateX(100%);\n transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);\n display: flex;\n flex-direction: column;\n box-shadow: var(--shadow-lg);\n }\n .cart-drawer.open { transform: translateX(0); }\n .cart-drawer-head {\n padding: 1.5rem 1.5rem 1.2rem;\n border-bottom: 1px solid var(--border);\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .cart-drawer-title {\n font-family: 'Cormorant Garamond', serif;\n font-size: 1.4rem;\n font-weight: 700;\n color: var(--dark);\n }\n .cart-close {\n background: var(--sand);\n border: none;\n width: 34px; height: 34px;\n border-radius: 50%;\n cursor: pointer;\n font-size: 1.1rem;\n color: var(--brown);\n display: flex; align-items: center; justify-content: center;\n }\n .cart-close:hover { background: var(--border); }\n .cart-items { flex: 1; overflow-y: auto; padding: 1.2rem 1.5rem; }\n .cart-empty {\n text-align: center;\n padding: 3rem 1rem;\n color: var(--muted);\n }\n .cart-empty-icon { font-size: 3rem; margin-bottom: 1rem; opacity: 0.4; }\n .cart-empty-txt { font-size: 0.9rem; }\n .cart-item {\n display: flex;\n gap: 1rem;\n padding: 1rem 0;\n border-bottom: 1px solid var(--border);\n align-items: center;\n }\n .cart-item-img {\n width: 56px; height: 56px;\n border-radius: 10px;\n display: flex; align-items: center; justify-content: center;\n font-size: 1.8rem;\n flex-shrink: 0;\n }\n .cart-item-info { flex: 1; }\n .cart-item-name { font-size: 0.85rem; font-weight: 600; color: var(--dark); }\n .cart-item-price {\n font-family: 'Cormorant Garamond', serif;\n font-size: 1rem;\n font-weight: 700;\n color: var(--gold);\n margin-top: 0.2rem;\n }\n .cart-item-qty {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-top: 0.4rem;\n }\n .qty-btn {\n width: 22px; height: 22px;\n background: var(--sand);\n border: 1px solid var(--border);\n border-radius: 50%;\n cursor: pointer;\n font-size: 0.85rem;\n display: flex; align-items: center; justify-content: center;\n color: var(--dark);\n }\n .qty-btn:hover { background: var(--border); }\n .qty-num { font-size: 0.85rem; font-weight: 700; color: var(--dark); min-width: 18px; text-align: center; }\n .cart-remove { background: none; border: none; cursor: pointer; color: var(--muted); font-size: 0.85rem; padding: 0.2rem; }\n .cart-remove:hover { color: var(--terracotta); }\n\n .cart-footer {\n padding: 1.2rem 1.5rem;\n border-top: 1px solid var(--border);\n }\n .cart-total-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 1.2rem;\n }\n .cart-total-label { font-size: 0.85rem; font-weight: 600; color: var(--brown); }\n .cart-total-val {\n font-family: 'Cormorant Garamond', serif;\n font-size: 1.5rem;\n font-weight: 700;\n color: var(--dark);\n }\n .cart-checkout-btn {\n width: 100%;\n background: var(--gold);\n color: #fff;\n font-family: 'Outfit', sans-serif;\n font-size: 0.92rem;\n font-weight: 700;\n padding: 0.95rem;\n border: none;\n border-radius: 50px;\n cursor: pointer;\n transition: background 0.2s;\n letter-spacing: 0.02em;\n }\n .cart-checkout-btn:hover { background: #a87820; }\n .cart-mm-note {\n text-align: center;\n font-size: 0.72rem;\n color: var(--muted);\n margin-top: 0.8rem;\n }\n\n /* ══════════ TOAST ══════════ */\n .toast {\n position: fixed;\n bottom: 2rem;\n left: 50%;\n transform: translateX(-50%) translateY(20px);\n background: var(--dark);\n color: #fff;\n padding: 0.75rem 1.5rem;\n border-radius: 50px;\n font-size: 0.85rem;\n font-weight: 600;\n z-index: 1000;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.3s, transform 0.3s;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n white-space: nowrap;\n box-shadow: var(--shadow-lg);\n }\n .toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }\n .toast-icon { color: var(--gold-lt); }\n\n /* ══════════ RESPONSIVE ══════════ */\n @media (max-width: 1024px) {\n .prod-grid { grid-template-columns: repeat(3, 1fr); }\n .hero-float { display: none; }\n }\n @media (max-width: 860px) {\n .hero-wrap { grid-template-columns: 1fr; }\n .hero-side { flex-direction: row; }\n .prod-grid { grid-template-columns: repeat(2, 1fr); }\n .trust-bar-inner { grid-template-columns: repeat(2, 1fr); }\n .trust-cell:nth-child(2) { border-right: none; }\n .trust-cell:nth-child(3) { border-top: 1px solid var(--border); }\n .reviews-grid { grid-template-columns: 1fr; }\n .footer-top { grid-template-columns: 1fr 1fr; }\n .payment-grid { grid-template-columns: 1fr; }\n .promo-banner-inner { grid-template-columns: 1fr; text-align: center; }\n .promo-sub { margin: 0 auto; }\n .promo-actions { flex-direction: row; justify-content: center; }\n }\n @media (max-width: 580px) {\n .nav-search { display: none; }\n .hero-main { padding: 2.5rem 1.5rem 2rem; }\n .hero-side { flex-direction: column; }\n .prod-grid { grid-template-columns: repeat(2, 1fr); gap: 0.8rem; }\n .trust-bar-inner { grid-template-columns: 1fr; }\n .trust-cell { border-right: none; border-bottom: 1px solid var(--border); }\n .trust-cell:last-child { border-bottom: none; }\n .footer-top { grid-template-columns: 1fr; gap: 2rem; }\n .cart-drawer { width: 100%; }\n nav { padding: 0; }\n .nav-inner { padding: 0 1rem; }\n .topbar { padding: 0.5rem 1rem; }\n }\n </style>\n</head>\n<body>\n\n<!-- ══════════ TOP BAR ══════════ -->\n<div class=\"topbar\">\n <div class=\"topbar-marquee\">\n <div class=\"marquee-track\" id=\"marqueeTrack\">\n <span class=\"marquee-item\"><span class=\"marquee-dot\"></span> Livraison gratuite dès <span class=\"highlight\">50 000 XOF</span></span>\n <span class=\"marquee-item\"><span class=\"marquee-dot\"></span> Paiement Mobile Money <span class=\"highlight\">MTN · Orange · Airtel</span></span>\n <span class=\"marquee-item\"><span class=\"marquee-dot\"></span> Livraison à <span class=\"highlight\">Abidjan</span> & <span class=\"highlight\">Kinshasa</span></span>\n <span class=\"marquee-item\"><span class=\"marquee-dot\"></span> Retours gratuits sous <span class=\"highlight\">30 jours</span></span>\n <span class=\"marquee-item\"><span class=\"marquee-dot\"></span> Service client <span class=\"highlight\">7j/7</span> · WhatsApp disponible</span>\n <!-- duplicate for seamless loop -->\n <span class=\"marquee-item\"><span class=\"marquee-dot\"></span> Livraison gratuite dès <span class=\"highlight\">50 000 XOF</span></span>\n <span class=\"marquee-item\"><span class=\"marquee-dot\"></span> Paiement Mobile Money <span class=\"highlight\">MTN · Orange · Airtel</span></span>\n <span class=\"marquee-item\"><span class=\"marquee-dot\"></span> Livraison à <span class=\"highlight\">Abidjan</span> & <span class=\"highlight\">Kinshasa</span></span>\n <span class=\"marquee-item\"><span class=\"marquee-dot\"></span> Retours gratuits sous <span class=\"highlight\">30 jours</span></span>\n <span class=\"marquee-item\"><span class=\"marquee-dot\"></span> Service client <span class=\"highlight\">7j/7</span> · WhatsApp disponible</span>\n </div>\n </div>\n <div class=\"topbar-flags\">\n <div class=\"flag-chip\">🇨🇮 CI</div>\n <div class=\"flag-chip\">🇨🇩 CD</div>\n </div>\n</div>\n\n<!-- ══════════ NAV ══════════ -->\n<nav>\n <div class=\"nav-inner\">\n <a href=\"#\" class=\"nav-logo\"><span class=\"icon-part\">Icona</span><span class=\"beauty-part\">beauty</span></a>\n\n <div class=\"nav-search\">\n <svg class=\"search-icon\" width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"M21 21l-4.35-4.35\"/></svg>\n <input type=\"text\" placeholder=\"Rechercher un produit…\" />\n </div>\n\n <div class=\"nav-right\">\n <button class=\"nav-icon-btn\" title=\"Favoris\">\n <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"/></svg>\n </button>\n <button class=\"nav-icon-btn\" title=\"Mon compte\">\n <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2\"/><circle cx=\"12\" cy=\"7\" r=\"4\"/></svg>\n </button>\n <button class=\"nav-icon-btn\" title=\"Panier\" id=\"cartToggle\">\n <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z\"/><line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"/><path d=\"M16 10a4 4 0 01-8 0\"/></svg>\n <span class=\"cart-badge\" id=\"cartCount\">0</span>\n </button>\n <button class=\"nav-order-btn\">Commander</button>\n </div>\n </div>\n</nav>\n\n<!-- ══════════ CAT BAR ══════════ -->\n<div class=\"cat-bar\">\n <div class=\"cat-bar-inner\">\n <span class=\"cat-tab active\"><span class=\"cat-emoji\">🏠</span> Accueil</span>\n <span class=\"cat-tab\"><span class=\"cat-emoji\">📱</span> Électronique</span>\n <span class=\"cat-tab\"><span class=\"cat-emoji\">🍳</span> Maison & Cuisine</span>\n <span class=\"cat-tab\"><span class=\"cat-emoji\">💡</span> Gadgets</span>\n <span class=\"cat-tab\"><span class=\"cat-emoji\">🔌</span> Accessoires</span>\n <span class=\"cat-tab\"><span class=\"cat-emoji\">🎁</span> Offres Spéciales</span>\n <span class=\"cat-tab\"><span class=\"cat-emoji\">🚀</span> Nouveautés</span>\n </div>\n</div>\n\n<!-- ══════════ HERO ══════════ -->\n<div class=\"hero-wrap\">\n <div class=\"hero-main\">\n <div class=\"kente-top\"></div>\n\n <!-- Geometric decoration -->\n <svg class=\"hero-geo\" viewBox=\"0 0 200 200\">\n <circle cx=\"100\" cy=\"100\" r=\"90\"/>\n <circle cx=\"100\" cy=\"100\" r=\"70\"/>\n <circle cx=\"100\" cy=\"100\" r=\"50\"/>\n <path d=\"M10 100 L190 100 M100 10 L100 190 M26 26 L174 174 M174 26 L26 174\"/>\n </svg>\n\n <div class=\"hero-eyebrow\"><span class=\"live-dot\"></span> Nouvelle collection</div>\n\n <h1 class=\"hero-title\">\n La boutique<br>\n <em>nouvelle</em><br>\n génération\n </h1>\n\n <p class=\"hero-sub\">\n Électronique dernière génération & équipements maison livrés directement chez vous — à Abidjan et Kinshasa. Paiement Mobile Money.\n </p>\n\n <div class=\"hero-btns\">\n <a href=\"#products\" class=\"btn-gold\">Découvrir la boutique</a>\n <button class=\"btn-outline-white\">Nos offres →</button>\n </div>\n\n <div class=\"hero-float\">\n <div class=\"hero-float-card\">\n <span class=\"hero-float-emoji\">📱</span>\n <div class=\"hero-float-name\">Smartphone HD</div>\n <div class=\"hero-float-price\">89 900 XOF</div>\n </div>\n </div>\n </div>\n\n <div class=\"hero-side\">\n <div class=\"hero-side-card hsc-1\">\n <div class=\"hsc-kente\"></div>\n <div class=\"hsc-tag\">Électronique</div>\n <div class=\"hsc-title\">Gadgets &<br>Tech</div>\n <div class=\"hsc-sub\">Smartphones, écouteurs,<br>chargeurs & plus</div>\n <a href=\"#\" class=\"hsc-link\">Explorer →</a>\n <span class=\"hsc-emoji\">⚡</span>\n </div>\n <div class=\"hero-side-card hsc-2\">\n <div class=\"hsc-kente\"></div>\n <div class=\"hsc-tag\">Maison & Cuisine</div>\n <div class=\"hsc-title\">Équipez votre<br>intérieur</div>\n <div class=\"hsc-sub\">Ustensiles, appareils,<br>décoration & confort</div>\n <a href=\"#\" class=\"hsc-link\">Explorer →</a>\n <span class=\"hsc-emoji\">🏡</span>\n </div>\n </div>\n</div>\n\n<!-- ══════════ TRUST BAR ══════════ -->\n<div class=\"trust-bar\">\n <div class=\"trust-bar-inner reveal\">\n <div class=\"trust-cell\">\n <div class=\"trust-ico\">🚚</div>\n <div>\n <div class=\"trust-txt-main\">Livraison rapide</div>\n <div class=\"trust-txt-sub\">Abidjan & Kinshasa · 2–5 jours</div>\n </div>\n </div>\n <div class=\"trust-cell\">\n <div class=\"trust-ico\">📲</div>\n <div>\n <div class=\"trust-txt-main\">Mobile Money</div>\n <div class=\"trust-txt-sub\">MTN · Orange · Airtel Money</div>\n </div>\n </div>\n <div class=\"trust-cell\">\n <div class=\"trust-ico\">🔄</div>\n <div>\n <div class=\"trust-txt-main\">Retour gratuit</div>\n <div class=\"trust-txt-sub\">30 jours satisfait ou remboursé</div>\n </div>\n </div>\n <div class=\"trust-cell\">\n <div class=\"trust-ico\">💬</div>\n <div>\n <div class=\"trust-txt-main\">Support WhatsApp</div>\n <div class=\"trust-txt-sub\">Lun–Dim · 8h–20h</div>\n </div>\n </div>\n </div>\n</div>\n\n<!-- ══════════ PRODUCTS — ÉLECTRONIQUE ══════════ -->\n<div class=\"section\" id=\"products\">\n <div class=\"sec-head reveal\">\n <div>\n <div class=\"sec-kicker\">Nos produits</div>\n <div class=\"sec-title\">Électronique & Gadgets</div>\n </div>\n <a href=\"#\" class=\"sec-see-all\">Tout voir →</a>\n </div>\n\n <div class=\"prod-grid\">\n\n <div class=\"prod-card reveal\" data-name=\"Écouteurs Bluetooth Pro\" data-price=\"18500\">\n <div class=\"prod-img-wrap prod-bg-1\">\n <span class=\"prod-emoji\">🎧</span>\n <span class=\"prod-badge badge-hot\">Populaire</span>\n <button class=\"prod-wish\">♡</button>\n </div>\n <div class=\"prod-info\">\n <div class=\"prod-cat\">Audio</div>\n <div class=\"prod-name\">Écouteurs Bluetooth Pro</div>\n <div class=\"prod-rating\"><span class=\"stars\">★★★★★</span><span class=\"rating-count\">(214)</span></div>\n <div class=\"prod-price-row\">\n <div>\n <div class=\"prod-price\">18 500 <small style=\"font-size:0.7em;font-weight:400\">XOF</small></div>\n <div class=\"prod-price-orig\">24 000 XOF</div>\n </div>\n <button class=\"prod-add-btn\" onclick=\"addToCart(this)\">+</button>\n </div>\n </div>\n </div>\n\n <div class=\"prod-card reveal\" data-name=\"Montre Connectée Smart\" data-price=\"32000\">\n <div class=\"prod-img-wrap prod-bg-5\">\n <span class=\"prod-emoji\">⌚</span>\n <span class=\"prod-badge badge-new\">Nouveau</span>\n <button class=\"prod-wish\">♡</button>\n </div>\n <div class=\"prod-info\">\n <div class=\"prod-cat\">Wearable</div>\n <div class=\"prod-name\">Montre Connectée Smart</div>\n <div class=\"prod-rating\"><span class=\"stars\">★★★★☆</span><span class=\"rating-count\">(98)</span></div>\n <div class=\"prod-price-row\">\n <div>\n <div class=\"prod-price\">32 000 <small style=\"font-size:0.7em;font-weight:400\">XOF</small></div>\n <div class=\"prod-price-orig\">42 000 XOF</div>\n </div>\n <button class=\"prod-add-btn\" onclick=\"addToCart(this)\">+</button>\n </div>\n </div>\n </div>\n\n <div class=\"prod-card reveal\" data-name=\"Chargeur Solaire Portable\" data-price=\"14900\">\n <div class=\"prod-img-wrap prod-bg-2\">\n <span class=\"prod-emoji\">☀️</span>\n <span class=\"prod-badge badge-promo\">−25%</span>\n <button class=\"prod-wish\">♡</button>\n </div>\n <div class=\"prod-info\">\n <div class=\"prod-cat\">Énergie</div>\n <div class=\"prod-name\">Chargeur Solaire Portable</div>\n <div class=\"prod-rating\"><span class=\"stars\">★★★★★</span><span class=\"rating-count\">(176)</span></div>\n <div class=\"prod-price-row\">\n <div>\n <div class=\"prod-price\">14 900 <small style=\"font-size:0.7em;font-weight:400\">XOF</small></div>\n <div class=\"prod-price-orig\">19 900 XOF</div>\n </div>\n <button class=\"prod-add-btn\" onclick=\"addToCart(this)\">+</button>\n </div>\n </div>\n </div>\n\n <div class=\"prod-card reveal\" data-name=\"Mini Caméra HD 1080P\" data-price=\"23500\">\n <div class=\"prod-img-wrap prod-bg-4\">\n <span class=\"prod-emoji\">📷</span>\n <button class=\"prod-wish\">♡</button>\n </div>\n <div class=\"prod-info\">\n <div class=\"prod-cat\">Sécurité</div>\n <div class=\"prod-name\">Mini Caméra HD 1080P</div>\n <div class=\"prod-rating\"><span class=\"stars\">★★★★★</span><span class=\"rating-count\">(312)</span></div>\n <div class=\"prod-price-row\">\n <div>\n <div class=\"prod-price\">23 500 <small style=\"font-size:0.7em;font-weight:400\">XOF</small></div>\n </div>\n <button class=\"prod-add-btn\" onclick=\"addToCart(this)\">+</button>\n </div>\n </div>\n </div>\n\n </div>\n</div>\n\n<!-- ══════════ PROMO BANNER ══════════ -->\n<div class=\"promo-banner reveal\">\n <div class=\"promo-banner-inner\">\n <div>\n <div class=\"promo-label\">✦ Offre limitée · Stocks réduits</div>\n <div class=\"promo-title\">Jusqu'à <em>−40%</em> sur<br>la maison & cuisine</div>\n <p class=\"promo-sub\">Équipez votre foyer avec les meilleurs appareils, livrés directement chez vous à Abidjan ou Kinshasa.</p>\n </div>\n <div class=\"promo-actions\">\n <div class=\"promo-price-tag\">\n <div class=\"promo-from\">À partir de</div>\n <div class=\"promo-amount\">9 900 <span class=\"promo-currency\">XOF</span></div>\n </div>\n <a href=\"#maison\" class=\"btn-gold\" style=\"white-space:nowrap\">Voir les offres</a>\n </div>\n <div class=\"promo-kente\"></div>\n </div>\n</div>\n\n<!-- ══════════ PRODUCTS — MAISON ══════════ -->\n<div class=\"section\" id=\"maison\">\n <div class=\"sec-head reveal\">\n <div>\n <div class=\"sec-kicker\">Maison & Cuisine</div>\n <div class=\"sec-title\">Équipez votre foyer</div>\n </div>\n <a href=\"#\" class=\"sec-see-all\">Tout voir →</a>\n </div>\n\n <div class=\"prod-grid\">\n\n <div class=\"prod-card reveal\" data-name=\"Mixeur Multifonction 1000W\" data-price=\"29900\">\n <div class=\"prod-img-wrap prod-bg-6\">\n <span class=\"prod-emoji\">🥤</span>\n <span class=\"prod-badge badge-hot\">Best-seller</span>\n <button class=\"prod-wish\">♡</button>\n </div>\n <div class=\"prod-info\">\n <div class=\"prod-cat\">Cuisine</div>\n <div class=\"prod-name\">Mixeur Multifonction 1000W</div>\n <div class=\"prod-rating\"><span class=\"stars\">★★★★★</span><span class=\"rating-count\">(287)</span></div>\n <div class=\"prod-price-row\">\n <div>\n <div class=\"prod-price\">29 900 <small style=\"font-size:0.7em;font-weight:400\">XOF</small></div>\n <div class=\"prod-price-orig\">39 000 XOF</div>\n </div>\n <button class=\"prod-add-btn\" onclick=\"addToCart(this)\">+</button>\n </div>\n </div>\n </div>\n\n <div class=\"prod-card reveal\" data-name=\"Lampe LED Rechargeable\" data-price=\"9900\">\n <div class=\"prod-img-wrap prod-bg-2\">\n <span class=\"prod-emoji\">💡</span>\n <span class=\"prod-badge badge-new\">Nouveau</span>\n <button class=\"prod-wish\">♡</button>\n </div>\n <div class=\"prod-info\">\n <div class=\"prod-cat\">Éclairage</div>\n <div class=\"prod-name\">Lampe LED Rechargeable</div>\n <div class=\"prod-rating\"><span class=\"stars\">★★★★☆</span><span class=\"rating-count\">(143)</span></div>\n <div class=\"prod-price-row\">\n <div>\n <div class=\"prod-price\">9 900 <small style=\"font-size:0.7em;font-weight:400\">XOF</small></div>\n </div>\n <button class=\"prod-add-btn\" onclick=\"addToCart(this)\">+</button>\n </div>\n </div>\n </div>\n\n <div class=\"prod-card reveal\" data-name=\"Ventilateur USB Silencieux\" data-price=\"12500\">\n <div class=\"prod-img-wrap prod-bg-3\">\n <span class=\"prod-emoji\">🌀</span>\n <span class=\"prod-badge badge-promo\">−30%</span>\n <button class=\"prod-wish\">♡</button>\n </div>\n <div class=\"prod-info\">\n <div class=\"prod-cat\">Confort</div>\n <div class=\"prod-name\">Ventilateur USB Silencieux</div>\n <div class=\"prod-rating\"><span class=\"stars\">★★★★★</span><span class=\"rating-count\">(201)</span></div>\n <div class=\"prod-price-row\">\n <div>\n <div class=\"prod-price\">12 500 <small style=\"font-size:0.7em;font-weight:400\">XOF</small></div>\n <div class=\"prod-price-orig\">17 900 XOF</div>\n </div>\n <button class=\"prod-add-btn\" onclick=\"addToCart(this)\">+</button>\n </div>\n </div>\n </div>\n\n <div class=\"prod-card reveal\" data-name=\"Set Casseroles Inox 5 pcs\" data-price=\"44900\">\n <div class=\"prod-img-wrap prod-bg-7\">\n <span class=\"prod-emoji\">🍳</span>\n <button class=\"prod-wish\">♡</button>\n </div>\n <div class=\"prod-info\">\n <div class=\"prod-cat\">Cuisine</div>\n <div class=\"prod-name\">Set Casseroles Inox 5 pcs</div>\n <div class=\"prod-rating\"><span class=\"stars\">★★★★★</span><span class=\"rating-count\">(95)</span></div>\n <div class=\"prod-price-row\">\n <div>\n <div class=\"prod-price\">44 900 <small style=\"font-size:0.7em;font-weight:400\">XOF</small></div>\n <div class=\"prod-price-orig\">59 000 XOF</div>\n </div>\n <button class=\"prod-add-btn\" onclick=\"addToCart(this)\">+</button>\n </div>\n </div>\n </div>\n\n </div>\n</div>\n\n<!-- ══════════ PAYMENT & DELIVERY ══════════ -->\n<div class=\"payment-section reveal\">\n <div class=\"payment-inner\">\n <div class=\"payment-grid\">\n <div>\n <div class=\"sec-kicker\">Paiement & Livraison</div>\n <div class=\"payment-title\">Commandez en toute confiance</div>\n <p class=\"payment-sub\">Payez facilement avec votre Mobile Money préféré. Livraison disponible dans les principales villes de Côte d'Ivoire et du Congo.</p>\n <div class=\"payment-methods\">\n <div class=\"pm-chip\">\n <span class=\"pm-icon\">📱</span>\n <div>\n <div>MTN Mobile Money</div>\n <div class=\"pm-sub\">Côte d'Ivoire · Congo</div>\n </div>\n </div>\n <div class=\"pm-chip\">\n <span class=\"pm-icon\">🟠</span>\n <div>\n <div>Orange Money</div>\n <div class=\"pm-sub\">Côte d'Ivoire</div>\n </div>\n </div>\n <div class=\"pm-chip\">\n <span class=\"pm-icon\">💳</span>\n <div>\n <div>Airtel Money</div>\n <div class=\"pm-sub\">Congo RDC</div>\n </div>\n </div>\n <div class=\"pm-chip\">\n <span class=\"pm-icon\">🏦</span>\n <div>\n <div>Virement bancaire</div>\n <div class=\"pm-sub\">XOF · CDF</div>\n </div>\n </div>\n </div>\n </div>\n <div>\n <div class=\"delivery-cards\">\n <div class=\"del-card\">\n <div class=\"del-flag\">🇨🇮</div>\n <div class=\"del-city\">Abidjan</div>\n <div class=\"del-time\">Livraison en 2–3 jours</div>\n <div class=\"del-free\">✓ Gratuit dès 50 000 XOF</div>\n </div>\n <div class=\"del-card\">\n <div class=\"del-flag\">🇨🇩</div>\n <div class=\"del-city\">Kinshasa</div>\n <div class=\"del-time\">Livraison en 3–5 jours</div>\n <div class=\"del-free\">✓ Gratuit dès 50 000 XOF</div>\n </div>\n <div class=\"del-card\">\n <div class=\"del-flag\">🇨🇮</div>\n <div class=\"del-city\">Yamoussoukro</div>\n <div class=\"del-time\">Livraison en 3–4 jours</div>\n </div>\n <div class=\"del-card\">\n <div class=\"del-flag\">🇨🇩</div>\n <div class=\"del-city\">Lubumbashi</div>\n <div class=\"del-time\">Livraison en 4–6 jours</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<!-- ══════════ REVIEWS ══════════ -->\n<div class=\"section\">\n <div class=\"sec-head reveal\">\n <div>\n <div class=\"sec-kicker\">Avis clients</div>\n <div class=\"sec-title\">Ils nous font confiance</div>\n </div>\n </div>\n <div class=\"reviews-grid\">\n <div class=\"rev-card reveal\">\n <div class=\"rev-stars\">★★★★★</div>\n <p class=\"rev-text\">Commandé les écouteurs Bluetooth un vendredi, reçus le lundi. Qualité impeccable et paiement MTN très simple. Je recommande Iconabeauty sans hésiter !</p>\n <div class=\"rev-author\">\n <div class=\"rev-avatar av-1\">AK</div>\n <div>\n <div class=\"rev-name\">Adjoua Koffi</div>\n <div class=\"rev-location\">📍 Abidjan, Côte d'Ivoire</div>\n </div>\n </div>\n </div>\n <div class=\"rev-card reveal\">\n <div class=\"rev-stars\">★★★★★</div>\n <p class=\"rev-text\">Le mixeur est exactement comme sur les photos. Livraison rapide à Kinshasa, emballage soigné. Le service client a répondu sur WhatsApp en quelques minutes.</p>\n <div class=\"rev-author\">\n <div class=\"rev-avatar av-2\">MB</div>\n <div>\n <div class=\"rev-name\">Mireille Bokele</div>\n <div class=\"rev-location\">📍 Kinshasa, Congo RDC</div>\n </div>\n </div>\n </div>\n <div class=\"rev-card reveal\">\n <div class=\"rev-stars\">★★★★☆</div>\n <p class=\"rev-text\">Très belle boutique, produits de qualité. La lampe LED rechargeable fonctionne parfaitement même lors des coupures. Je reviendrai commander d'autres articles.</p>\n <div class=\"rev-author\">\n <div class=\"rev-avatar av-3\">YT</div>\n <div>\n <div class=\"rev-name\">Youssouf Touré</div>\n <div class=\"rev-location\">📍 Yamoussoukro, Côte d'Ivoire</div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<!-- ══════════ FOOTER ══════════ -->\n<footer>\n <div class=\"footer-inner\">\n <div class=\"footer-top\">\n <div>\n <div class=\"footer-logo\"><span class=\"icon-part\">Icona</span><span class=\"beauty-part\">beauty</span></div>\n <p class=\"footer-tagline\">Votre boutique en ligne de confiance en Afrique de l'Ouest et Centrale. Électronique, maison & gadgets livrés chez vous.</p>\n <div class=\"footer-socials\">\n <div class=\"social-btn\">📘</div>\n <div class=\"social-btn\">📸</div>\n <div class=\"social-btn\">💬</div>\n <div class=\"social-btn\">▶️</div>\n </div>\n </div>\n <div>\n <div class=\"footer-col-title\">Boutique</div>\n <div class=\"footer-links\">\n <a href=\"#\">Électronique & Gadgets</a>\n <a href=\"#\">Maison & Cuisine</a>\n <a href=\"#\">Nouveautés</a>\n <a href=\"#\">Offres spéciales</a>\n <a href=\"#\">Best-sellers</a>\n </div>\n </div>\n <div>\n <div class=\"footer-col-title\">Service client</div>\n <div class=\"footer-links\">\n <a href=\"#\">Comment commander</a>\n <a href=\"#\">Suivi de livraison</a>\n <a href=\"#\">Retours & remboursements</a>\n <a href=\"#\">Paiement Mobile Money</a>\n <a href=\"#\">Contactez-nous</a>\n </div>\n </div>\n <div>\n <div class=\"footer-col-title\">Nous contacter</div>\n <div class=\"footer-links\">\n <a href=\"#\">📱 WhatsApp : +225 XX XXX XXX</a>\n <a href=\"#\">📧 <span class=\"__cf_email__\" data-cfemail=\"d7b4b8b9a3b6b4a397beb4b8b9b6b5b2b6a2a3aef9b4b8ba\">[email protected]</span></a>\n <a href=\"#\">📍 Abidjan, Côte d'Ivoire</a>\n <a href=\"#\">📍 Kinshasa, Congo RDC</a>\n <a href=\"#\" style=\"color:#c8922a\">🟢 Lun–Dim · 8h–20h</a>\n </div>\n </div>\n </div>\n <div class=\"footer-bottom\">\n <div class=\"footer-copy\">© 2026 Iconabeauty. Tous droits réservés. · <a href=\"#\" style=\"color:#4a3e34\">Politique de confidentialité</a> · <a href=\"#\" style=\"color:#4a3e34\">CGV</a></div>\n <div class=\"footer-pay-icons\">\n <span class=\"pay-icon-chip\">MTN</span>\n <span class=\"pay-icon-chip\">Orange</span>\n <span class=\"pay-icon-chip\">Airtel</span>\n <span class=\"pay-icon-chip\">XOF</span>\n <span class=\"pay-icon-chip\">CDF</span>\n </div>\n </div>\n </div>\n</footer>\n\n<!-- ══════════ CART DRAWER ══════════ -->\n<div class=\"cart-overlay\" id=\"cartOverlay\" onclick=\"closeCart()\"></div>\n<div class=\"cart-drawer\" id=\"cartDrawer\">\n <div class=\"cart-drawer-head\">\n <div class=\"cart-drawer-title\">Mon panier</div>\n <button class=\"cart-close\" onclick=\"closeCart()\">✕</button>\n </div>\n <div class=\"cart-items\" id=\"cartItems\">\n <div class=\"cart-empty\">\n <div class=\"cart-empty-icon\">🛍️</div>\n <div class=\"cart-empty-txt\">Votre panier est vide.<br>Ajoutez des produits pour commencer.</div>\n </div>\n </div>\n <div class=\"cart-footer\" id=\"cartFooter\" style=\"display:none\">\n <div class=\"cart-total-row\">\n <span class=\"cart-total-label\">Total</span>\n <span class=\"cart-total-val\" id=\"cartTotal\">0 XOF</span>\n </div>\n <button class=\"cart-checkout-btn\">Passer la commande →</button>\n <div class=\"cart-mm-note\">📱 Paiement via MTN · Orange · Airtel Money</div>\n </div>\n</div>\n\n<!-- ══════════ TOAST ══════════ -->\n<div class=\"toast\" id=\"toast\">\n <span class=\"toast-icon\">✓</span>\n <span id=\"toastMsg\">Produit ajouté au panier</span>\n</div>\n\n<script data-cfasync=\"false\" src=\"/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js\"></script><script>\n // ── Scroll reveal ──\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry, i) => {\n if (entry.isIntersecting) {\n entry.target.style.transitionDelay = (i * 0.06) + 's';\n entry.target.classList.add('visible');\n observer.unobserve(entry.target);\n }\n });\n }, { threshold: 0.1 });\n document.querySelectorAll('.reveal').forEach(el => observer.observe(el));\n\n // ── Cat bar tabs ──\n document.querySelectorAll('.cat-tab').forEach(tab => {\n tab.addEventListener('click', () => {\n document.querySelectorAll('.cat-tab').forEach(t => t.classList.remove('active'));\n tab.classList.add('active');\n });\n });\n\n // ── Cart logic ──\n let cart = [];\n\n function formatXOF(n) {\n return n.toLocaleString('fr-FR') + ' XOF';\n }\n\n function addToCart(btn) {\n const card = btn.closest('.prod-card');\n const name = card.dataset.name;\n const price = parseInt(card.dataset.price);\n const emoji = card.querySelector('.prod-emoji').textContent;\n\n const existing = cart.find(i => i.name === name);\n if (existing) {\n existing.qty++;\n } else {\n cart.push({ name, price, emoji, qty: 1 });\n }\n\n renderCart();\n showToast(`« ${name} » ajouté au panier`);\n\n // Animate button\n btn.textContent = '✓';\n btn.style.background = 'var(--forest)';\n setTimeout(() => { btn.textContent = '+'; btn.style.background = ''; }, 1200);\n }\n\n function renderCart() {\n const itemsEl = document.getElementById('cartItems');\n const footerEl = document.getElementById('cartFooter');\n const countEl = document.getElementById('cartCount');\n const totalEl = document.getElementById('cartTotal');\n\n const totalCount = cart.reduce((s, i) => s + i.qty, 0);\n const totalPrice = cart.reduce((s, i) => s + i.price * i.qty, 0);\n\n countEl.textContent = totalCount;\n totalEl.textContent = formatXOF(totalPrice);\n\n if (cart.length === 0) {\n itemsEl.innerHTML = `<div class=\"cart-empty\"><div class=\"cart-empty-icon\">🛍️</div><div class=\"cart-empty-txt\">Votre panier est vide.<br>Ajoutez des produits pour commencer.</div></div>`;\n footerEl.style.display = 'none';\n return;\n }\n\n footerEl.style.display = 'block';\n itemsEl.innerHTML = cart.map((item, idx) => `\n <div class=\"cart-item\">\n <div class=\"cart-item-img prod-bg-${(idx % 8) + 1}\">${item.emoji}</div>\n <div class=\"cart-item-info\">\n <div class=\"cart-item-name\">${item.name}</div>\n <div class=\"cart-item-price\">${formatXOF(item.price)}</div>\n <div class=\"cart-item-qty\">\n <button class=\"qty-btn\" onclick=\"changeQty(${idx}, -1)\">−</button>\n <span class=\"qty-num\">${item.qty}</span>\n <button class=\"qty-btn\" onclick=\"changeQty(${idx}, 1)\">+</button>\n </div>\n </div>\n <button class=\"cart-remove\" onclick=\"removeItem(${idx})\">🗑</button>\n </div>\n `).join('');\n }\n\n function changeQty(idx, delta) {\n cart[idx].qty += delta;\n if (cart[idx].qty <= 0) cart.splice(idx, 1);\n renderCart();\n }\n\n function removeItem(idx) {\n cart.splice(idx, 1);\n renderCart();\n }\n\n function openCart() {\n document.getElementById('cartDrawer').classList.add('open');\n document.getElementById('cartOverlay').classList.add('open');\n document.body.style.overflow = 'hidden';\n }\n function closeCart() {\n document.getElementById('cartDrawer').classList.remove('open');\n document.getElementById('cartOverlay').classList.remove('open');\n document.body.style.overflow = '';\n }\n document.getElementById('cartToggle').addEventListener('click', openCart);\n\n // ── Toast ──\n function showToast(msg) {\n const t = document.getElementById('toast');\n document.getElementById('toastMsg').textContent = msg;\n t.classList.add('show');\n setTimeout(() => t.classList.remove('show'), 2800);\n }\n\n // ── Wishlist hearts ──\n document.querySelectorAll('.prod-wish').forEach(btn => {\n btn.addEventListener('click', (e) => {\n e"
}