{"product_id":"bobana-moroccan-soap-olive","title":"Savon Marocain Bobana avec huile d'olive naturelle Savon marocain à l'huile d'olive de Bobana","description":"\u003cdiv class=\"product-description-container\"\u003e\n\u003c!-- Hero Section --\u003e\n\u003cdiv class=\"hero-section\"\u003e\n\u003cdiv class=\"golden-glow\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"hero-content\"\u003e\n\u003ch1 class=\"main-title\"\u003eSavon Marocain Bobana\u003c\/h1\u003e\n\u003ch2 class=\"subtitle\"\u003eAvec de l'huile d'argan naturelle\u003c\/h2\u003e\n\u003cdiv class=\"hero-badge\"\u003e\n\u003cspan class=\"badge-text\"\u003e500 grammes • Qualité supérieure\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Introduction Section --\u003e\n\u003cdiv class=\"section-container\"\u003e\n\u003ch3 class=\"section-title\"\u003eDécouvrez l'éclat naturel de votre peau\u003c\/h3\u003e\n\u003cdiv class=\"intro-content\"\u003e\n\u003cdiv class=\"intro-card\"\u003e\n\u003cp\u003eSavon marocain Bobana enrichi à l'huile d'argan mélangé avec des huiles naturelles qui nourrissent et restaurent l'éclat et la luminosité de la peau de votre corps. Découvrez les secrets de beauté anciens du Maroc avec cette formule luxueuse et traditionnelle.\u003c\/p\u003e\n\u003cdiv class=\"highlight-box\"\u003e\n\u003cstrong\u003eTransformez votre routine de soins de la peau avec une expérience authentique de spa marocain chez vous\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Benefits Section --\u003e\n\u003cdiv class=\"section-container dark-section\"\u003e\n\u003ch3 class=\"section-title\"\u003eBienfaits puissants pour votre peau\u003c\/h3\u003e\n\u003cdiv class=\"benefits-grid\"\u003e\n\u003cdiv class=\"benefit-card\"\u003e\n\u003cdiv class=\"benefit-icon exfoliate\"\u003e\u003c\/div\u003e\n\u003ch4\u003eÉliminer les cellules mortes de la peau\u003c\/h4\u003e\n\u003cp\u003eExfolie doucement et élimine l'accumulation de cellules mortes pour une peau plus douce et plus lisse\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"benefit-card\"\u003e\n\u003cdiv class=\"benefit-icon deep-clean\"\u003e\u003c\/div\u003e\n\u003ch4\u003eNettoyage en profondeur\u003c\/h4\u003e\n\u003cp\u003eIl nettoie en profondeur et élimine les excès de sébum et les impuretés accumulées dans les pores\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"benefit-card\"\u003e\n\u003cdiv class=\"benefit-icon brighten\"\u003e\u003c\/div\u003e\n\u003ch4\u003eÉclaircir les taches foncées\u003c\/h4\u003e\n\u003cp\u003eCela aide à éclaircir les taches foncées et améliore le teint et l'éclat de la peau\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"benefit-card\"\u003e\n\u003cdiv class=\"benefit-icon moisturize\"\u003e\u003c\/div\u003e\n\u003ch4\u003eNutrition avec vitamine A\u003c\/h4\u003e\n\u003cp\u003eIl contient de la vitamine A, qui aide à hydrater la peau et la protège de la sécheresse\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"benefit-card\"\u003e\n\u003cdiv class=\"benefit-icon circulation\"\u003e\u003c\/div\u003e\n\u003ch4\u003eStimuler la circulation sanguine\u003c\/h4\u003e\n\u003cp\u003eRévèle l'éclat de la peau en stimulant la circulation sanguine pour un teint sain\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"benefit-card\"\u003e\n\u003cdiv class=\"benefit-icon acne\"\u003e\u003c\/div\u003e\n\u003ch4\u003ePrévenir l'acné corporelle\u003c\/h4\u003e\n\u003cp\u003eIl élimine les impuretés qui causent des boutons sur le corps pour obtenir une peau plus propre et plus saine\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Key Ingredients --\u003e\n\u003cdiv class=\"section-container\"\u003e\n\u003ch3 class=\"section-title\"\u003eIngrédients naturels luxueux\u003c\/h3\u003e\n\u003cdiv class=\"ingredients-grid\"\u003e\n\u003cdiv class=\"ingredient-item\"\u003e\n\u003cdiv class=\"ingredient-icon argan\"\u003e\u003c\/div\u003e\n\u003ch4\u003eHuile d'argan\u003c\/h4\u003e\n\u003cp\u003eRiche en vitamine E et en acides gras essentiels, il nourrit profondément et rajeunit la peau\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ingredient-item\"\u003e\n\u003cdiv class=\"ingredient-icon glycerin\"\u003e\u003c\/div\u003e\n\u003ch4\u003eGlycérine\u003c\/h4\u003e\n\u003cp\u003eUn humectant naturel qui attire l'humidité vers la peau et maintient l'hydratation\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ingredient-item\"\u003e\n\u003cdiv class=\"ingredient-icon almond\"\u003e\u003c\/div\u003e\n\u003ch4\u003eHuile d'amande\u003c\/h4\u003e\n\u003cp\u003eAdoucit et hydrate la peau tout en fournissant des nutriments et des vitamines essentiels\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ingredient-item\"\u003e\n\u003cdiv class=\"ingredient-icon chamomile\"\u003e\u003c\/div\u003e\n\u003ch4\u003eCamomille\u003c\/h4\u003e\n\u003cp\u003eIl apaise et calme la peau grâce à ses propriétés anti-inflammatoires naturelles\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- How to Use --\u003e\n\u003cdiv class=\"section-container dark-section\"\u003e\n\u003ch3 class=\"section-title\"\u003eComment utiliser pour de meilleurs résultats\u003c\/h3\u003e\n\u003cdiv class=\"usage-steps\"\u003e\n\u003cdiv class=\"step-item\"\u003e\n\u003cdiv class=\"step-number\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"step-content\"\u003e\n\u003ch4\u003ePréparer le bain de vapeur\u003c\/h4\u003e\n\u003cp\u003eUtilisez pendant un bain de vapeur pour ouvrir les pores et préparer votre peau\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"step-item\"\u003e\n\u003cdiv class=\"step-number\"\u003e2\u003c\/div\u003e\n\u003cdiv class=\"step-content\"\u003e\n\u003ch4\u003eApplication égale\u003c\/h4\u003e\n\u003cp\u003eAppliquez une couche appropriée de savon sur tout le corps, en évitant les coupures ou blessures\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"step-item\"\u003e\n\u003cdiv class=\"step-number\"\u003e3\u003c\/div\u003e\n\u003cdiv class=\"step-content\"\u003e\n\u003ch4\u003eLaissez-le sur la peau\u003c\/h4\u003e\n\u003cp\u003eLaissez-le sur votre corps pendant 10 à 15 minutes pour permettre une pénétration profonde\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"step-item\"\u003e\n\u003cdiv class=\"step-number\"\u003e4\u003c\/div\u003e\n\u003cdiv class=\"step-content\"\u003e\n\u003ch4\u003eRinçage et exfoliation\u003c\/h4\u003e\n\u003cp\u003eLavez avec de l'eau, puis frottez avec le loofah marocain en mouvements circulaires\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"step-item\"\u003e\n\u003cdiv class=\"step-number\"\u003e5\u003c\/div\u003e\n\u003cdiv class=\"step-content\"\u003e\n\u003ch4\u003eRinçage final\u003c\/h4\u003e\n\u003cp\u003eLavez à nouveau votre corps avec de l'eau pour obtenir une peau douce et éclatante\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Recommended Uses --\u003e\n\u003cdiv class=\"section-container\"\u003e\n\u003ch3 class=\"section-title\"\u003eRecommandé pour\u003c\/h3\u003e\n\u003cdiv class=\"recommended-grid\"\u003e\n\u003cdiv class=\"recommend-card\"\u003e\n\u003cdiv class=\"recommend-icon deep\"\u003e\u003c\/div\u003e\n\u003ch4\u003eNettoyage en profondeur\u003c\/h4\u003e\n\u003cp\u003eParfait pour votre routine hebdomadaire de nettoyage en profondeur\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"recommend-card\"\u003e\n\u003cdiv class=\"recommend-icon exfoliate\"\u003e\u003c\/div\u003e\n\u003ch4\u003eExfoliation\u003c\/h4\u003e\n\u003cp\u003eExfoliation douce et efficace pour tous les types de peau\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"recommend-card\"\u003e\n\u003cdiv class=\"recommend-icon prep\"\u003e\u003c\/div\u003e\n\u003ch4\u003ePréparation pour les masques\u003c\/h4\u003e\n\u003cp\u003ePrépare la peau pour les masques et traitements corporels\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"recommend-card\"\u003e\n\u003cdiv class=\"recommend-icon removal\"\u003e\u003c\/div\u003e\n\u003ch4\u003eÉliminer les cellules mortes de la peau\u003c\/h4\u003e\n\u003cp\u003eÉlimine efficacement les cellules mortes de la peau pour le rajeunissement\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Product Value --\u003e\n\u003cdiv class=\"section-container dark-section\"\u003e\n\u003ch3 class=\"section-title\"\u003eValeur et qualité exceptionnelles\u003c\/h3\u003e\n\u003cdiv class=\"value-features\"\u003e\n\u003cdiv class=\"value-item\"\u003e\n\u003cdiv class=\"value-icon size\"\u003e\u003c\/div\u003e\n\u003ch4\u003ePortion généreuse de 500 g\u003c\/h4\u003e\n\u003cp\u003eValeur longue durée offrant des mois de soins spa luxueux\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"value-item\"\u003e\n\u003cdiv class=\"value-icon authentic\"\u003e\u003c\/div\u003e\n\u003ch4\u003eCombinaison marocaine authentique\u003c\/h4\u003e\n\u003cp\u003eUne recette traditionnelle transmise de génération en génération par des experts en beauté marocains\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"value-item\"\u003e\n\u003cdiv class=\"value-icon natural\"\u003e\u003c\/div\u003e\n\u003ch4\u003eIngrédients 100 % naturels\u003c\/h4\u003e\n\u003cp\u003ePas de produits chimiques agressifs, seulement des huiles naturelles pures et des plantes\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"value-item\"\u003e\n\u003cdiv class=\"value-icon spa\"\u003e\u003c\/div\u003e\n\u003ch4\u003eRésultats professionnels de spa\u003c\/h4\u003e\n\u003cp\u003eObtenez des résultats de qualité salon dans le confort de votre maison\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Safety Notice --\u003e\n\u003cdiv class=\"section-container\"\u003e\n\u003ch3 class=\"section-title\"\u003eInformations importantes sur la sécurité\u003c\/h3\u003e\n\u003cdiv class=\"safety-notice\"\u003e\n\u003cdiv class=\"safety-card\"\u003e\n\u003cdiv class=\"safety-icon\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"safety-content\"\u003e\n\u003ch4\u003eIl est recommandé de faire un test d'allergie\u003c\/h4\u003e\n\u003cp\u003eAvant d'utiliser tout nouveau produit pour la peau ou les cheveux, il est important de réaliser un test d'allergie pour garantir la sécurité de votre peau et de vos cheveux. Voir le guide détaillé dans la section Test d'allergie.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CTA Section --\u003e\n\u003cdiv class=\"cta-section\"\u003e\n\u003cdiv class=\"cta-content\"\u003e\n\u003ch3\u003eDécouvrez le luxe d'un spa marocain\u003c\/h3\u003e\n\u003cp\u003eTransformez votre routine de soins de la peau avec ce savon marocain authentique enrichi en luxueux huile d'argan. Votre peau mérite les meilleurs soins naturels.\u003c\/p\u003e\n\u003cdiv class=\"cta-highlight\"\u003e\n\u003cstrong\u003eChouchoutez-vous avec des secrets de beauté anciens • Ajoutez au panier aujourd'hui\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spa-promises\"\u003e\n\u003cdiv class=\"promise-badge\"\u003e\n\u003cspan class=\"promise-icon\"\u003e\u003c\/span\u003e\n\u003cspan\u003eÉclat incroyable\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"promise-badge\"\u003e\n\u003cspan class=\"promise-icon\"\u003e\u003c\/span\u003e\n\u003cspan\u003eDouceur soyeuse\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"promise-badge\"\u003e\n\u003cspan class=\"promise-icon\"\u003e\u003c\/span\u003e\n\u003cspan\u003eNettoyage en profondeur\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"promise-badge\"\u003e\n\u003cspan class=\"promise-icon\"\u003e\u003c\/span\u003e\n\u003cspan\u003eHydratation naturelle\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Ingredients List --\u003e\n\u003cdiv class=\"ingredients-list\"\u003e\n\u003ch4\u003eListe complète des ingrédients\u003c\/h4\u003e\n\u003cp class=\"ingredients-text\"\u003eHuile d'argan, glycérine, huile d'amande, camomille, bétaïne, eau distillée\u003c\/p\u003e\n\u003cdiv class=\"product-footer\"\u003e\n\u003cem\u003eSavon marocain Bobana à l'huile d'argan naturelle • 500 grammes, qualité supérieure\u003c\/em\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n.product-description-container * {\n    margin: 0;\n    padding: 0;\n    box-sizing: border-box;\n}\n\n.product-description-container {\n    max-width: 1200px;\n    margin: 0 auto;\n    padding: 20px;\n    direction: ltr;\n    text-align: left;\n    background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);\n    position: relative;\n    overflow: hidden;\n}\n\n.product-description-container img {\n    max-width: 100%;\n    height: auto;\n    opacity: 1;\n    transition: all 0.8s ease-out;\n}\n\n\/* Hero Section *\/\n.hero-section {\n    position: relative;\n    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);\n    color: white;\n    padding: 80px 40px;\n    margin-bottom: 40px;\n    border-radius: 20px;\n    text-align: center;\n    overflow: hidden;\n}\n\n.golden-glow {\n    position: absolute;\n    top: -50%;\n    right: -50%;\n    width: 200%;\n    height: 200%;\n    background: radial-gradient(circle, rgba(156, 129, 2, 0.1) 0%, transparent 70%);\n    animation: pulse 4s ease-in-out infinite;\n}\n\n.hero-content {\n    position: relative;\n    z-index: 2;\n}\n\n.main-title {\n    font-size: 3rem;\n    font-weight: bold;\n    color: #9C8102;\n    margin-bottom: 15px;\n    animation: fadeInUp 1s ease-out;\n    text-shadow: 0 0 20px rgba(156, 129, 2, 0.3);\n}\n\n.subtitle {\n    font-size: 1.8rem;\n    margin-bottom: 25px;\n    animation: fadeInUp 1s ease-out 0.3s both;\n    opacity: 0.9;\n}\n\n.hero-badge {\n    display: inline-block;\n    background: rgba(156, 129, 2, 0.2);\n    border: 2px solid #9C8102;\n    padding: 12px 25px;\n    border-radius: 25px;\n    animation: fadeInUp 1s ease-out 0.6s both;\n}\n\n.badge-text {\n    color: #9C8102;\n    font-weight: bold;\n    font-size: 1.1rem;\n}\n\n\/* Section Containers *\/\n.section-container {\n    margin-bottom: 50px;\n    opacity: 0;\n    transform: translateY(30px);\n    animation: fadeInUp 0.8s ease-out forwards;\n}\n\n.dark-section {\n    background: linear-gradient(135deg, #000000 0%, #1a1a1a 100%);\n    padding: 50px 40px;\n    border-radius: 20px;\n    color: white;\n    position: relative;\n    overflow: hidden;\n}\n\n.dark-section::before {\n    content: '';\n    position: absolute;\n    top: -50%;\n    right: -50%;\n    width: 200%;\n    height: 200%;\n    background: radial-gradient(circle, rgba(156, 129, 2, 0.05) 0%, transparent 70%);\n    animation: pulse 6s ease-in-out infinite;\n}\n\n.dark-section .section-title {\n    color: #9C8102;\n    position: relative;\n    z-index: 2;\n}\n\n.section-title {\n    font-size: 2.2rem;\n    color: #9C8102;\n    margin-bottom: 30px;\n    padding-bottom: 15px;\n    border-bottom: 3px solid #9C8102;\n    position: relative;\n}\n\n.section-title::after {\n    content: '';\n    position: absolute;\n    bottom: -3px;\n    right: 0;\n    width: 0;\n    height: 3px;\n    background: linear-gradient(90deg, #9C8102, transparent);\n    animation: expandBorder 2s ease-out forwards;\n}\n\n\/* Introduction Section *\/\n.intro-content {\n    margin-top: 30px;\n}\n\n.intro-card {\n    background: white;\n    padding: 40px;\n    border-radius: 15px;\n    box-shadow: 0 15px 35px rgba(0,0,0,0.1);\n    transition: transform 0.3s ease;\n    position: relative;\n    overflow: hidden;\n}\n\n.intro-card::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    right: 0;\n    width: 100%;\n    height: 4px;\n    background: linear-gradient(90deg, #9C8102, #D4AF37);\n}\n\n.intro-card:hover {\n    transform: translateY(-5px);\n}\n\n.intro-card p {\n    font-size: 1.2rem;\n    line-height: 1.8;\n    color: #333;\n    margin-bottom: 25px;\n}\n\n.highlight-box {\n    background: linear-gradient(135deg, #9C8102, #D4AF37);\n    color: white;\n    padding: 25px;\n    border-radius: 10px;\n    text-align: center;\n    box-shadow: 0 10px 30px rgba(156, 129, 2, 0.3);\n}\n\n\/* Benefits Grid *\/\n.benefits-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));\n    gap: 25px;\n    margin-top: 30px;\n    position: relative;\n    z-index: 2;\n}\n\n.benefit-card {\n    background: rgba(255, 255, 255, 0.1);\n    backdrop-filter: blur(10px);\n    padding: 30px;\n    border-radius: 15px;\n    border: 1px solid rgba(255, 255, 255, 0.1);\n    text-align: center;\n    transition: all 0.3s ease;\n    position: relative;\n    overflow: hidden;\n}\n\n.benefit-card:hover {\n    background: rgba(255, 255, 255, 0.15);\n    transform: translateY(-8px);\n}\n\n.benefit-icon {\n    width: 60px;\n    height: 60px;\n    border-radius: 50%;\n    margin: 0 auto 20px;\n    display: block;\n    position: relative;\n    box-shadow: 0 0 20px rgba(156, 129, 2, 0.4);\n}\n\n.benefit-icon.exfoliate {\n    background: linear-gradient(135deg, #9C8102, #D4AF37);\n}\n\n.benefit-icon.deep-clean {\n    background: linear-gradient(135deg, #8B7355, #9C8102);\n}\n\n.benefit-icon.brighten {\n    background: linear-gradient(135deg, #D4AF37, #FFD700);\n}\n\n.benefit-icon.moisturize {\n    background: linear-gradient(135deg, #CD853F, #9C8102);\n}\n\n.benefit-icon.circulation {\n    background: linear-gradient(135deg, #B8860B, #DAA520);\n}\n\n.benefit-icon.acne {\n    background: linear-gradient(135deg, #9C8102, #8B7355);\n}\n\n.benefit-card h4 {\n    color: #9C8102 !important;\n    font-size: 1.4rem;\n    margin-bottom: 15px;\n    font-weight: bold;\n}\n\n.benefit-card p {\n    color: #ffffff !important;\n    line-height: 1.6;\n    font-size: 1.1rem;\n}\n\n\/* Ingredients Grid *\/\n.ingredients-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n    gap: 30px;\n    margin-top: 30px;\n}\n\n.ingredient-item {\n    background: white;\n    padding: 35px;\n    border-radius: 15px;\n    box-shadow: 0 10px 30px rgba(0,0,0,0.1);\n    text-align: center;\n    transition: all 0.3s ease;\n    position: relative;\n    overflow: hidden;\n}\n\n.ingredient-item::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    right: 0;\n    width: 100%;\n    height: 3px;\n    background: linear-gradient(90deg, #9C8102, transparent);\n    transform: scaleX(0);\n    transition: transform 0.3s ease;\n}\n\n.ingredient-item:hover::before {\n    transform: scaleX(1);\n}\n\n.ingredient-item:hover {\n    transform: translateY(-10px);\n    box-shadow: 0 20px 40px rgba(0,0,0,0.15);\n}\n\n.ingredient-icon {\n    width: 70px;\n    height: 70px;\n    border-radius: 50%;\n    margin: 0 auto 20px;\n    display: block;\n}\n\n.ingredient-icon.argan {\n    background: linear-gradient(135deg, #9C8102, #D4AF37);\n}\n\n.ingredient-icon.glycerin {\n    background: linear-gradient(135deg, #87CEEB, #4682B4);\n}\n\n.ingredient-icon.almond {\n    background: linear-gradient(135deg, #DEB887, #CD853F);\n}\n\n.ingredient-icon.chamomile {\n    background: linear-gradient(135deg, #FFD700, #FFA500);\n}\n\n.ingredient-item h4 {\n    color: #9C8102;\n    font-size: 1.4rem;\n    margin-bottom: 15px;\n    font-weight: bold;\n}\n\n.ingredient-item p {\n    color: #555;\n    line-height: 1.6;\n    font-size: 1.1rem;\n}\n\n\/* Usage Steps *\/\n.usage-steps {\n    position: relative;\n    z-index: 2;\n    margin-top: 30px;\n    display: grid;\n    gap: 25px;\n}\n\n.step-item {\n    display: flex;\n    align-items: center;\n    gap: 30px;\n    background: rgba(255, 255, 255, 0.1);\n    backdrop-filter: blur(10px);\n    padding: 30px;\n    border-radius: 15px;\n    border: 1px solid rgba(255, 255, 255, 0.1);\n    transition: all 0.3s ease;\n}\n\n.step-item:hover {\n    background: rgba(255, 255, 255, 0.15);\n    transform: translateX(-10px);\n}\n\n.step-number {\n    background: #9C8102;\n    color: white;\n    width: 60px;\n    height: 60px;\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: bold;\n    font-size: 1.5rem;\n    flex-shrink: 0;\n    margin-left: 20px;\n    box-shadow: 0 0 20px rgba(156, 129, 2, 0.4);\n}\n\n.step-content h4 {\n    color: #9C8102 !important;\n    font-size: 1.4rem;\n    margin-bottom: 10px;\n    font-weight: bold;\n}\n\n.step-content p {\n    color: #ffffff !important;\n    line-height: 1.6;\n    font-size: 1.1rem;\n}\n\n\/* Recommended Grid *\/\n.recommended-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n    gap: 25px;\n    margin-top: 30px;\n}\n\n.recommend-card {\n    background: white;\n    padding: 30px;\n    border-radius: 15px;\n    box-shadow: 0 8px 25px rgba(0,0,0,0.1);\n    text-align: center;\n    transition: all 0.3s ease;\n    position: relative;\n    overflow: hidden;\n}\n\n.recommend-card:hover {\n    transform: translateY(-5px);\n    box-shadow: 0 15px 35px rgba(0,0,0,0.15);\n}\n\n.recommend-icon {\n    width: 50px;\n    height: 50px;\n    border-radius: 50%;\n    margin: 0 auto 20px;\n    display: block;\n    background: linear-gradient(135deg, #9C8102, #D4AF37);\n}\n\n.recommend-card h4 {\n    color: #9C8102;\n    font-size: 1.3rem;\n    margin-bottom: 15px;\n    font-weight: bold;\n}\n\n.recommend-card p {\n    color: #555;\n    line-height: 1.6;\n}\n\n\/* Value Features *\/\n.value-features {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n    gap: 25px;\n    margin-top: 30px;\n    position: relative;\n    z-index: 2;\n}\n\n.value-item {\n    background: rgba(255, 255, 255, 0.1);\n    backdrop-filter: blur(10px);\n    padding: 30px;\n    border-radius: 15px;\n    border: 1px solid rgba(255, 255, 255, 0.1);\n    text-align: center;\n    transition: all 0.3s ease;\n}\n\n.value-item:hover {\n    background: rgba(255, 255, 255, 0.15);\n    transform: translateY(-5px);\n}\n\n.value-icon {\n    width: 60px;\n    height: 60px;\n    border-radius: 50%;\n    margin: 0 auto 20px;\n    display: block;\n    background: linear-gradient(135deg, #9C8102, #D4AF37);\n    box-shadow: 0 0 20px rgba(156, 129, 2, 0.4);\n}\n\n.value-item h4 {\n    color: #9C8102 !important;\n    font-size: 1.3rem;\n    margin-bottom: 15px;\n    font-weight: bold;\n}\n\n.value-item p {\n    color: #ffffff !important;\n    line-height: 1.6;\n}\n\n\/* Safety Notice *\/\n.safety-notice {\n    margin-top: 30px;\n}\n\n.safety-card {\n    background: #fff3cd;\n    border: 2px solid #ffeaa7;\n    padding: 30px;\n    border-radius: 15px;\n    display: flex;\n    align-items: center;\n    gap: 20px;\n    transition: all 0.3s ease;\n}\n\n.safety-card:hover {\n    transform: translateY(-3px);\n    box-shadow: 0 10px 25px rgba(255, 193, 7, 0.2);\n}\n\n.safety-icon {\n    width: 50px;\n    height: 50px;\n    border-radius: 50%;\n    background: linear-gradient(135deg, #ffc107, #ff8f00);\n    flex-shrink: 0;\n}\n\n.safety-content h4 {\n    color: #856404;\n    font-size: 1.3rem;\n    margin-bottom: 10px;\n    font-weight: bold;\n}\n\n.safety-content p {\n    color: #856404;\n    line-height: 1.6;\n}\n\n\/* CTA Section *\/\n.cta-section {\n    background: linear-gradient(135deg, #000000 0%, #1a1a1a 100%);\n    color: white;\n    padding: 60px 40px;\n    border-radius: 20px;\n    margin: 40px 0;\n    position: relative;\n    overflow: hidden;\n    text-align: center;\n}\n\n.cta-section::before {\n    content: '';\n    position: absolute;\n    top: -50%;\n    right: -50%;\n    width: 200%;\n    height: 200%;\n    background: radial-gradient(circle, rgba(156, 129, 2, 0.1) 0%, transparent 70%);\n    animation: pulse 4s ease-in-out infinite;\n}\n\n.cta-content {\n    position: relative;\n    z-index: 2;\n}\n\n.cta-content h3 {\n    font-size: 2.5rem;\n    margin-bottom: 20px;\n    font-weight: bold;\n    color: #9C8102;\n}\n\n.cta-content p {\n    font-size: 1.3rem;\n    margin-bottom: 25px;\n    opacity: 0.9;\n    line-height: 1.6;\n    color: #ffffff !important;\n}\n\n.cta-highlight {\n    font-size: 1.5rem;\n    padding: 30px;\n    background: rgba(156, 129, 2, 0.2);\n    border-radius: 15px;\n    border: 2px solid #9C8102;\n    color: #ffffff !important;\n    font-weight: bold;\n    backdrop-filter: blur(10px);\n    margin-bottom: 30px;\n}\n\n.spa-promises {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n    gap: 20px;\n}\n\n.promise-badge {\n    display: flex;\n    align-items: center;\n    gap: 15px;\n    background: rgba(255, 255, 255, 0.1);\n    padding: 15px;\n    border-radius: 25px;\n    transition: all 0.3s ease;\n}\n\n.promise-badge:hover {\n    background: rgba(255, 255, 255, 0.2);\n}\n\n.promise-icon {\n    width: 15px;\n    height: 15px;\n    border-radius: 50%;\n    background: #9C8102;\n    flex-shrink: 0;\n    box-shadow: 0 0 10px rgba(156, 129, 2, 0.5);\n}\n\n.promise-badge span:last-child {\n    color: #ffffff !important;\n    font-weight: 500;\n}\n\n\/* Ingredients List *\/\n.ingredients-list {\n    background: #f8f8f8;\n    padding: 40px;\n    border-radius: 15px;\n    margin-top: 40px;\n    text-align: center;\n}\n\n.ingredients-list h4 {\n    color: #9C8102;\n    font-size: 1.4rem;\n    margin-bottom: 20px;\n    font-weight: bold;\n}\n\n.ingredients-text {\n    color: #666;\n    font-size: 1rem;\n    line-height: 1.6;\n    margin-bottom: 30px;\n    padding: 20px;\n    background: white;\n    border-radius: 10px;\n    box-shadow: 0 5px 15px rgba(0,0,0,0.1);\n}\n\n.product-footer {\n    color: #999;\n    font-style: italic;\n    text-align: center;\n    font-size: 1.1rem;\n}\n\n\/* General dark section text fixes *\/\n.dark-section p {\n    color: #ffffff !important;\n}\n\n.dark-section h4 {\n    color: #9C8102 !important;\n}\n\n.dark-section .section-title {\n    color: #9C8102 !important;\n}\n\n.dark-section * {\n    color: inherit;\n}\n\n\/* Animations *\/\n@keyframes fadeInUp {\n    from {\n        opacity: 0;\n        transform: translateY(30px);\n    }\n    to {\n        opacity: 1;\n        transform: translateY(0);\n    }\n}\n\n@keyframes pulse {\n    0%, 100% {\n        transform: scale(1);\n        opacity: 0.5;\n    }\n    50% {\n        transform: scale(1.1);\n        opacity: 0.8;\n    }\n}\n\n@keyframes expandBorder {\n    from {\n        width: 0;\n    }\n    to {\n        width: 120px;\n    }\n}\n\n\/* Responsive Design *\/\n@media (max-width: 768px) {\n    .product-description-container {\n        padding: 15px;\n    }\n    \n    .product-description-container .dark-section {\n        padding: 30px 20px;\n    }\n    \n    .product-description-container .main-title {\n        font-size: 2.2rem;\n    }\n    \n    .product-description-container .subtitle {\n        font-size: 1.4rem;\n    }\n    \n    .product-description-container .section-title {\n        font-size: 1.8rem;\n    }\n    \n    .product-description-container .benefits-grid,\n    .product-description-container .ingredients-grid,\n    .product-description-container .value-features,\n    .product-description-container .recommended-grid {\n        grid-template-columns: 1fr;\n    }\n    \n    .product-description-container .hero-section {\n        padding: 50px 20px;\n    }\n    \n    .product-description-container .step-item {\n        flex-direction: column;\n        text-align: center;\n        gap: 15px;\n    }\n    \n    .product-description-container .step-number {\n        margin-left: 0;\n    }\n    \n    .product-description-container .safety-card {\n        flex-direction: column;\n        text-align: center;\n        gap: 15px;\n    }\n    \n    .product-description-container .spa-promises {\n        grid-template-columns: 1fr;\n    }\n    \n    .product-description-container .cta-content h3 {\n        font-size: 2rem;\n    }\n    \n    .product-description-container .cta-content p {\n        font-size: 1.1rem;\n    }\n    \n    .product-description-container .cta-highlight {\n        font-size: 1.2rem;\n    }\n}\n\n\/* Intersection Observer Animation Classes *\/\n.product-description-container .fade-in {\n    opacity: 0;\n    transform: translateY(30px);\n    transition: all 0.8s ease-out;\n}\n\n.product-description-container .fade-in.visible {\n    opacity: 1;\n    transform: translateY(0);\n}\n\n.product-description-container .image-loaded {\n    opacity: 1 !important;\n    transform: translateY(0) !important;\n}\n\u003c\/style\u003e\n\u003cscript\u003e\ndocument.addEventListener('DOMContentLoaded', function() {\n    const container = document.querySelector('.product-description-container');\n    if (!container) return;\n\n    \/\/ Intersection Observer for scroll animations\n    const observerOptions = {\n        threshold: 0.1,\n        rootMargin: '0px 0px -50px 0px'\n    };\n\n    const observer = new IntersectionObserver(function(entries) {\n        entries.forEach(entry =\u003e {\n            if (entry.isIntersecting) {\n                entry.target.classList.add('visible');\n            }\n        });\n    }, observerOptions);\n\n    \/\/ Observe all section containers within the product description\n    container.querySelectorAll('.section-container').forEach(section =\u003e {\n        observer.observe(section);\n    });\n\n    \/\/ Golden glow animation timing\n    const goldenGlow = container.querySelector('.golden-glow');\n    if (goldenGlow) {\n        goldenGlow.style.animationDelay = '1s';\n    }\n\n    \/\/ Staggered animation for benefit cards\n    const benefitCards = container.querySelectorAll('.benefit-card');\n    benefitCards.forEach((card, index) =\u003e {\n        card.style.animationDelay = `${index * 0.1}s`;\n        card.style.animation = 'fadeInUp 0.6s ease-out forwards';\n    });\n\n    \/\/ Staggered animation for ingredient items\n    const ingredientItems = container.querySelectorAll('.ingredient-item');\n    ingredientItems.forEach((item, index) =\u003e {\n        item.style.animationDelay = `${index * 0.15}s`;\n        item.style.animation = 'fadeInUp 0.7s ease-out forwards';\n    });\n\n    \/\/ Staggered animation for value items\n    const valueItems = container.querySelectorAll('.value-item');\n    valueItems.forEach((item, index) =\u003e {\n        item.style.animationDelay = `${index * 0.2}s`;\n        item.style.animation = 'fadeInUp 0.6s ease-out forwards';\n    });\n\n    \/\/ Staggered animation for step items\n    const stepItems = container.querySelectorAll('.step-item');\n    stepItems.forEach((step, index) =\u003e {\n        step.style.animationDelay = `${index * 0.2}s`;\n        step.style.animation = 'fadeInUp 0.8s ease-out forwards';\n    });\n\n    \/\/ Staggered animation for recommend cards\n    const recommendCards = container.querySelectorAll('.recommend-card');\n    recommendCards.forEach((card, index) =\u003e {\n        card.style.animationDelay = `${index * 0.1}s`;\n        card.style.animation = 'fadeInUp 0.6s ease-out forwards';\n    });\n\n    \/\/ Dynamic border expansion for section titles\n    const sectionTitles = container.querySelectorAll('.section-title');\n    const titleObserver = new IntersectionObserver(function(entries) {\n        entries.forEach(entry =\u003e {\n            if (entry.isIntersecting) {\n                entry.target.style.animationPlayState = 'running';\n            }\n        });\n    }, observerOptions);\n\n    sectionTitles.forEach(title =\u003e {\n        titleObserver.observe(title);\n    });\n\n    \/\/ Promise badges animation\n    const promiseBadges = container.querySelectorAll('.promise-badge');\n    promiseBadges.forEach((badge, index) =\u003e {\n        badge.style.animationDelay = `${index * 0.1}s`;\n        badge.style.animation = 'fadeInUp 0.5s ease-out forwards';\n    });\n\n    \/\/ Hover effects for interactive elements\n    const interactiveElements = container.querySelectorAll('.benefit-card, .ingredient-item, .value-item, .recommend-card');\n    interactiveElements.forEach(element =\u003e {\n        element.addEventListener('mouseenter', function() {\n            this.style.transform = this.style.transform.includes('translateY') ? \n                this.style.transform.replace(\/translateY\\([^)]*\\)\/, 'translateY(-10px)') + ' scale(1.02)' :\n                'translateY(-10px) scale(1.02)';\n        });\n        \n        element.addEventListener('mouseleave', function() {\n            this.style.transform = this.style.transform.replace(\/translateY\\([^)]*\\) scale\\([^)]*\\)\/, '');\n        });\n    });\n\n    \/\/ Moroccan pattern effect (subtle)\n    const heroSection = container.querySelector('.hero-section');\n    if (heroSection) {\n        for (let i = 0; i \u003c 6; i++) {\n            const pattern = document.createElement('div');\n            pattern.style.cssText = `\n                position: absolute;\n                width: 2px;\n                height: 2px;\n                background: #D4AF37;\n                border-radius: 50%;\n                opacity: 0.4;\n                animation: float ${4 + Math.random() * 2}s ease-in-out infinite;\n                top: ${Math.random() * 100}%;\n                right: ${Math.random() * 100}%;\n                z-index: 1;\n                box-shadow: 0 0 4px #D4AF37;\n            `;\n            pattern.style.animationDelay = `${Math.random() * 3}s`;\n            heroSection.appendChild(pattern);\n        }\n    }\n\n    \/\/ Safety card special attention animation\n    const safetyCard = container.querySelector('.safety-card');\n    const safetyObserver = new IntersectionObserver(function(entries) {\n        entries.forEach(entry =\u003e {\n            if (entry.isIntersecting) {\n                entry.target.style.animation = 'fadeInUp 0.8s ease-out';\n                setTimeout(() =\u003e {\n                    entry.target.style.boxShadow = '0 0 20px rgba(255, 193, 7, 0.4)';\n                }, 800);\n            }\n        });\n    }, observerOptions);\n\n    if (safetyCard) {\n        safetyObserver.observe(safetyCard);\n    }\n});\n\n\/\/ Add floating animation for step numbers\nfunction addFloatingAnimation() {\n    const stepNumbers = document.querySelectorAll('.step-number');\n    stepNumbers.forEach(number =\u003e {\n        number.style.animation += ', float 3s ease-in-out infinite';\n    });\n}\n\n\/\/ Add floating animation keyframe\nconst floatKeyframes = `\n@keyframes float {\n    0%, 100% {\n        transform: translateY(0);\n    }\n    50% {\n        transform: translateY(-5px);\n    }\n}`;\n\n\/\/ Add keyframes to the document\nconst style = document.createElement('style');\nstyle.textContent = floatKeyframes;\ndocument.head.appendChild(style);\n\n\/\/ Add the floating animation after page load\nsetTimeout(addFloatingAnimation, 2000);\n\u003c\/script\u003e","brand":"Bobana","offers":[{"title":"Default Title","offer_id":46999407198382,"sku":null,"price":20.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0717\/5359\/7102\/files\/moroccanbr-soap-with-naturalbr-olive-oil-642015_063c1e89-b84c-465b-9799-609a680238cb.webp?v=1788175311","url":"https:\/\/skingeer.com\/fr\/products\/bobana-moroccan-soap-olive","provider":"SkinGeer","version":"1.0","type":"link"}