{"product_id":"melody-bikini-bottom","title":"Melody Bikini Bottom","description":"\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta content=\"width=device-width, initial-scale=1.0\" name=\"viewport\"\u003e\n\u003cmeta content=\"Melody Bikini Bottom by Fallen Ivy - shell-effect bikini bottom, made in France. Available in Pink and Blue.\" name=\"description\"\u003e\n\n\u003cstyle\u003e\n        .kftn-wrapper,\n        .kftn-wrapper *,\n        .kftn-wrapper span,\n        .kftn-wrapper div,\n        .kftn-wrapper p,\n        .kftn-wrapper h1,\n        .kftn-wrapper h2,\n        .kftn-wrapper h3,\n        .kftn-wrapper li,\n        .kftn-wrapper strong,\n        .kftn-wrapper ul {\n            font-family: 'SF Mono', ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace !important;\n        }\n        .kftn-wrapper { background: #ffffff; color: #000000; line-height: 1.7; padding: 0; margin: 0; }\n        .kftn-container { max-width: 900px; margin: 0 auto; padding: 80px 40px; background: #ffffff; }\n        .kftn-hero-title { font-size: 13px; font-weight: 400; letter-spacing: 3px; text-transform: uppercase; text-align: center; margin-bottom: 60px; color: #000; opacity: 0.7; }\n        .kftn-details-accordion { border-top: 1px solid #e8e8e8; }\n        .kftn-details-item { border-bottom: 1px solid #e8e8e8; transition: all 0.3s ease; animation: kftnFadeIn 0.6s ease forwards; }\n        .kftn-details-trigger { padding: 28px 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; font-weight: 500; color: #000; transition: opacity 0.3s ease; user-select: none; }\n        .kftn-details-trigger:hover { opacity: 0.5; }\n        .kftn-details-symbol { font-size: 20px; font-weight: 300; transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); line-height: 1; }\n        .kftn-details-item.is-open .kftn-details-symbol { transform: rotate(45deg); }\n        .kftn-details-panel { max-height: 0; overflow: hidden; transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1); }\n        .kftn-details-item.is-open .kftn-details-panel { max-height: 2000px; }\n        .kftn-details-inner { padding-bottom: 35px; font-size: 15px; color: #666666; line-height: 1.9; font-weight: 300; }\n        .kftn-details-inner p { margin-bottom: 22px; }\n        .kftn-details-inner h3 { font-size: 14px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; margin: 30px 0 18px 0; color: #000000; }\n        .kftn-details-inner h3:first-child { margin-top: 0; }\n        .kftn-details-inner strong { color: #000000; font-weight: 500; }\n        .kftn-specs-list { list-style: none; margin: 25px 0; padding: 0; }\n        .kftn-specs-list li { padding: 12px 0 12px 24px; position: relative; font-size: 15px; color: #666666; line-height: 1.7; }\n        .kftn-specs-list li::before { content: '—'; position: absolute; left: 0; color: #000000; font-weight: 300; }\n        .kftn-premium-callout { background: #f9f9f9; padding: 30px; margin-top: 30px; border-left: 3px solid #000000; }\n        .kftn-premium-label { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 14px; font-weight: 600; color: #000000; }\n        .kftn-premium-callout p { margin-bottom: 0; font-size: 14px; line-height: 1.8; }\n        .kftn-color-swatches { display: flex; gap: 16px; margin: 25px 0; flex-wrap: wrap; }\n        .kftn-swatch { display: flex; flex-direction: column; align-items: center; gap: 8px; }\n        .kftn-swatch-dot { width: 32px; height: 32px; border-radius: 50%; border: 1px solid #e8e8e8; }\n        .kftn-swatch-label { font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: #666; }\n        .kftn-size-table-wrapper { margin: 30px 0; overflow-x: auto; }\n        .kftn-size-table { width: 100%; border-collapse: collapse; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; }\n        .kftn-size-table thead th { font-weight: 600; color: #000; padding: 14px 10px; border-bottom: 1px solid #000; text-align: center; }\n        .kftn-size-table tbody td { padding: 16px 10px; text-align: center; color: #666; border-bottom: 1px solid #e8e8e8; font-weight: 300; }\n        .kftn-size-table tbody tr:last-child td { border-bottom: none; }\n        .kftn-fit-note { font-size: 13px; color: #000; margin-top: 20px; font-weight: 500; letter-spacing: 0.3px; }\n        @keyframes kftnFadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }\n        .kftn-details-item:nth-child(1) { animation-delay: 0.1s; }\n        .kftn-details-item:nth-child(2) { animation-delay: 0.2s; }\n        .kftn-details-item:nth-child(3) { animation-delay: 0.3s; }\n        .kftn-details-item:nth-child(4) { animation-delay: 0.4s; }\n        .kftn-details-item:nth-child(5) { animation-delay: 0.5s; }\n        @media (max-width: 768px) {\n            .kftn-container { padding: 50px 24px; }\n            .kftn-hero-title { font-size: 11px; letter-spacing: 2px; margin-bottom: 40px; }\n            .kftn-details-trigger { padding: 22px 0; font-size: 10px; letter-spacing: 1.5px; }\n            .kftn-details-symbol { font-size: 18px; }\n            .kftn-details-inner { font-size: 14px; padding-bottom: 28px; }\n            .kftn-details-inner h3 { font-size: 12px; }\n            .kftn-specs-list li { font-size: 14px; padding: 10px 0 10px 20px; }\n            .kftn-premium-callout { padding: 24px; }\n            .kftn-premium-label { font-size: 9px; }\n            .kftn-size-table { font-size: 12px; }\n            .kftn-size-table thead th { padding: 12px 8px; }\n            .kftn-size-table tbody td { padding: 14px 8px; }\n        }\n        @media (max-width: 480px) {\n            .kftn-container { padding: 40px 20px; }\n            .kftn-details-trigger { padding: 20px 0; }\n        }\n\u003c\/style\u003e\n\n\u003cdiv class=\"kftn-wrapper\"\u003e\n    \u003cdiv class=\"kftn-container\"\u003e\n        \u003ch1 class=\"kftn-hero-title\"\u003eProduct Details\u003c\/h1\u003e\n        \u003cdiv class=\"kftn-details-accordion\" itemscope itemtype=\"https:\/\/schema.org\/Product\"\u003e\n\n            \u003c!-- 1. Description --\u003e\n            \u003carticle class=\"kftn-details-item is-open\"\u003e\n                \u003cdiv class=\"kftn-details-trigger\"\u003e\n                    \u003cspan\u003eDescription \u0026amp; Details\u003c\/span\u003e\n                    \u003cspan class=\"kftn-details-symbol\"\u003e+\u003c\/span\u003e\n                \u003c\/div\u003e\n                \u003cdiv class=\"kftn-details-panel\"\u003e\n                    \u003cdiv class=\"kftn-details-inner\"\u003e\n                        \u003ch2 style=\"display:none;\" itemprop=\"name\"\u003eMelody Bikini Bottom\u003c\/h2\u003e\n                        \u003cp itemprop=\"description\"\u003e\u003cstrong\u003eShell-effect bikini bottom\u003c\/strong\u003e — A Fallen Ivy piece drawn from the world of mermaids, shaped to sculpt and flatter every silhouette. Textured shell-effect front, adjustable side ties, hand-finished details.\u003c\/p\u003e\n                        \u003ch3\u003eDesign \u0026amp; Craftsmanship\u003c\/h3\u003e\n                        \u003cul class=\"kftn-specs-list\"\u003e\n                            \u003cli itemprop=\"brand\" itemscope itemtype=\"https:\/\/schema.org\/Brand\"\u003eDesigned in \u003cspan itemprop=\"name\"\u003eParis\u003c\/span\u003e — \u003cstrong\u003eMade in France\u003c\/strong\u003e\n\u003c\/li\u003e\n                            \u003cli\u003eShell-effect texture on the front panel\u003c\/li\u003e\n                            \u003cli\u003eAdjustable side ties\u003c\/li\u003e\n                            \u003cli\u003eInternal elastic waistband for a perfect fit\u003c\/li\u003e\n                            \u003cli\u003eAvailable in Pink and Blue\u003c\/li\u003e\n                        \u003c\/ul\u003e\n                        \u003ch3\u003eColors\u003c\/h3\u003e\n                        \u003cdiv class=\"kftn-color-swatches\"\u003e\n                            \u003cdiv class=\"kftn-swatch\"\u003e\n                                \u003cdiv class=\"kftn-swatch-dot\" style=\"background:#F6D9E3;\"\u003e\u003c\/div\u003e\n                                \u003cspan class=\"kftn-swatch-label\"\u003ePink\u003c\/span\u003e\n                            \u003c\/div\u003e\n                            \u003cdiv class=\"kftn-swatch\"\u003e\n                                \u003cdiv class=\"kftn-swatch-dot\" style=\"background:#CFE8F2;\"\u003e\u003c\/div\u003e\n                                \u003cspan class=\"kftn-swatch-label\"\u003eBlue\u003c\/span\u003e\n                            \u003c\/div\u003e\n                        \u003c\/div\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n            \u003c\/article\u003e\n\n            \u003c!-- 2. Composition --\u003e\n            \u003carticle class=\"kftn-details-item\"\u003e\n                \u003cdiv class=\"kftn-details-trigger\"\u003e\n                    \u003cspan\u003eComposition \u0026amp; Materials\u003c\/span\u003e\n                    \u003cspan class=\"kftn-details-symbol\"\u003e+\u003c\/span\u003e\n                \u003c\/div\u003e\n                \u003cdiv class=\"kftn-details-panel\"\u003e\n                    \u003cdiv class=\"kftn-details-inner\"\u003e\n                        \u003ch3\u003eFabric Composition\u003c\/h3\u003e\n                        \u003cul class=\"kftn-specs-list\" itemprop=\"material\"\u003e\n                            \u003cli\u003eLycra — 80% Polyamide, 20% Elastane\u003c\/li\u003e\n                            \u003cli\u003eSoft-touch, second-skin feel\u003c\/li\u003e\n                        \u003c\/ul\u003e\n                        \u003ch3\u003eFinish\u003c\/h3\u003e\n                        \u003cul class=\"kftn-specs-list\"\u003e\n                            \u003cli\u003eShell-effect texture on the front panel\u003c\/li\u003e\n                            \u003cli\u003eFine double-knot side ties\u003c\/li\u003e\n                            \u003cli\u003eInternal elastic waistband for a secure, perfect fit\u003c\/li\u003e\n                        \u003c\/ul\u003e\n                        \u003cdiv class=\"kftn-premium-callout\"\u003e\n                            \u003cdiv class=\"kftn-premium-label\"\u003eMade In France\u003c\/div\u003e\n                            \u003cp\u003eThe Melody Bikini Bottom is crafted in France, using a premium lycra fabric designed to hug the body while resisting chlorine and salt water.\u003c\/p\u003e\n                        \u003c\/div\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n            \u003c\/article\u003e\n\n            \u003c!-- 3. Care --\u003e\n            \u003carticle class=\"kftn-details-item\"\u003e\n                \u003cdiv class=\"kftn-details-trigger\"\u003e\n                    \u003cspan\u003eCare Instructions\u003c\/span\u003e\n                    \u003cspan class=\"kftn-details-symbol\"\u003e+\u003c\/span\u003e\n                \u003c\/div\u003e\n                \u003cdiv class=\"kftn-details-panel\"\u003e\n                    \u003cdiv class=\"kftn-details-inner\"\u003e\n                        \u003ch3\u003eWashing Guidelines\u003c\/h3\u003e\n                        \u003cul class=\"kftn-specs-list\"\u003e\n                            \u003cli\u003eHand wash in cold water\u003c\/li\u003e\n                            \u003cli\u003eUse a mild detergent\u003c\/li\u003e\n                            \u003cli\u003eDo not bleach\u003c\/li\u003e\n                        \u003c\/ul\u003e\n                        \u003ch3\u003eDrying \u0026amp; Storage\u003c\/h3\u003e\n                        \u003cul class=\"kftn-specs-list\"\u003e\n                            \u003cli\u003eDo not wring, dry flat\u003c\/li\u003e\n                            \u003cli\u003eAvoid prolonged sun exposure\u003c\/li\u003e\n                            \u003cli\u003eDo not iron\u003c\/li\u003e\n                        \u003c\/ul\u003e\n                        \u003cdiv class=\"kftn-premium-callout\"\u003e\n                            \u003cdiv class=\"kftn-premium-label\"\u003eCare Tip\u003c\/div\u003e\n                            \u003cp\u003eTo preserve the shell-effect texture and the elasticity of the lycra, rinse in fresh water after every swim and dry flat in the shade.\u003c\/p\u003e\n                        \u003c\/div\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n            \u003c\/article\u003e\n\n            \u003c!-- 4. Size Guide --\u003e\n            \u003carticle class=\"kftn-details-item\"\u003e\n                \u003cdiv class=\"kftn-details-trigger\"\u003e\n                    \u003cspan\u003eSize Guide\u003c\/span\u003e\n                    \u003cspan class=\"kftn-details-symbol\"\u003e+\u003c\/span\u003e\n                \u003c\/div\u003e\n                \u003cdiv class=\"kftn-details-panel\"\u003e\n                    \u003cdiv class=\"kftn-details-inner\"\u003e\n                        \u003ch3\u003eSize Measurements (cm)\u003c\/h3\u003e\n                        \u003cdiv class=\"kftn-size-table-wrapper\"\u003e\n                            \u003ctable class=\"kftn-size-table\"\u003e\n                                \u003cthead\u003e\n                                    \u003ctr\u003e\n                                        \u003cth\u003eSize\u003c\/th\u003e\n                                        \u003cth\u003eWaist\u003c\/th\u003e\n                                        \u003cth\u003eHip\u003c\/th\u003e\n                                    \u003c\/tr\u003e\n                                \u003c\/thead\u003e\n                                \u003ctbody\u003e\n                                    \u003ctr\u003e\n                                        \u003ctd\u003eXS\u003c\/td\u003e\n                                        \u003ctd\u003e60\u003c\/td\u003e\n                                        \u003ctd\u003e85\u003c\/td\u003e\n                                    \u003c\/tr\u003e\n                                    \u003ctr\u003e\n                                        \u003ctd\u003eS\u003c\/td\u003e\n                                        \u003ctd\u003e64\u003c\/td\u003e\n                                        \u003ctd\u003e89\u003c\/td\u003e\n                                    \u003c\/tr\u003e\n                                    \u003ctr\u003e\n                                        \u003ctd\u003eM\u003c\/td\u003e\n                                        \u003ctd\u003e68\u003c\/td\u003e\n                                        \u003ctd\u003e93\u003c\/td\u003e\n                                    \u003c\/tr\u003e\n                                    \u003ctr\u003e\n                                        \u003ctd\u003eL\u003c\/td\u003e\n                                        \u003ctd\u003e73\u003c\/td\u003e\n                                        \u003ctd\u003e98\u003c\/td\u003e\n                                    \u003c\/tr\u003e\n                                    \u003ctr\u003e\n                                        \u003ctd\u003eXL\u003c\/td\u003e\n                                        \u003ctd\u003e78\u003c\/td\u003e\n                                        \u003ctd\u003e103\u003c\/td\u003e\n                                    \u003c\/tr\u003e\n                                \u003c\/tbody\u003e\n                            \u003c\/table\u003e\n                        \u003c\/div\u003e\n                        \u003cp style=\"font-size:12px; color:#999; margin-top:14px;\"\u003e\n                            Measurements are in centimeters. Slight variations may occur due to production process.\n                        \u003c\/p\u003e\n                        \u003cp class=\"kftn-fit-note\"\u003eLéa \u0026amp; Davina wear a size S.\u003c\/p\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n            \u003c\/article\u003e\n\n            \u003c!-- 5. Shipping --\u003e\n            \u003carticle class=\"kftn-details-item\"\u003e\n                \u003cdiv class=\"kftn-details-trigger\"\u003e\n                    \u003cspan\u003eShipping \u0026amp; Availability\u003c\/span\u003e\n                    \u003cspan class=\"kftn-details-symbol\"\u003e+\u003c\/span\u003e\n                \u003c\/div\u003e\n                \u003cdiv class=\"kftn-details-panel\"\u003e\n                    \u003cdiv class=\"kftn-details-inner\"\u003e\n                        \u003ch3\u003ePre-Order\u003c\/h3\u003e\n                        \u003cp\u003e\u003cstrong\u003eThis product is available for pre-order.\u003c\/strong\u003e\u003c\/p\u003e\n                        \u003ch3\u003eShipping Details\u003c\/h3\u003e\n                        \u003cul class=\"kftn-specs-list\"\u003e\n                            \u003cli\u003eEstimated delivery: 2 weeks after the order is placed\u003c\/li\u003e\n                            \u003cli\u003eWorldwide shipping available\u003c\/li\u003e\n                            \u003cli\u003eTracking number provided upon shipment\u003c\/li\u003e\n                            \u003cli\u003eSecure packaging to protect your order\u003c\/li\u003e\n                            \u003cli\u003eDuties and taxes may apply for international orders\u003c\/li\u003e\n                        \u003c\/ul\u003e\n                        \u003cdiv class=\"kftn-premium-callout\"\u003e\n                            \u003cdiv class=\"kftn-premium-label\"\u003ePre-Order\u003c\/div\u003e\n                            \u003cp\u003eEstimated delivery: 2 weeks after the order is placed. You will receive a tracking number as soon as your Melody Bikini Bottom is on its way.\u003c\/p\u003e\n                        \u003c\/div\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n            \u003c\/article\u003e\n\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    document.addEventListener('DOMContentLoaded', function() {\n        const triggers = document.querySelectorAll('.kftn-details-trigger');\n        triggers.forEach(trigger =\u003e {\n            trigger.addEventListener('click', function() {\n                const item = this.parentElement;\n                const isOpen = item.classList.contains('is-open');\n                document.querySelectorAll('.kftn-details-item').forEach(i =\u003e {\n                    i.classList.remove('is-open');\n                });\n                if (!isOpen) {\n                    item.classList.add('is-open');\n                }\n            });\n        });\n    });\n\u003c\/script\u003e","brand":"My shop","offers":[{"title":"XS \/ Pink","offer_id":54688401588551,"sku":null,"price":25.0,"currency_code":"EUR","in_stock":true},{"title":"XS \/ Blue","offer_id":54688401621319,"sku":null,"price":25.0,"currency_code":"EUR","in_stock":true},{"title":"S \/ Pink","offer_id":54688401654087,"sku":null,"price":25.0,"currency_code":"EUR","in_stock":true},{"title":"S \/ Blue","offer_id":54688401686855,"sku":null,"price":25.0,"currency_code":"EUR","in_stock":true},{"title":"M \/ Pink","offer_id":54688401719623,"sku":null,"price":25.0,"currency_code":"EUR","in_stock":true},{"title":"M \/ Blue","offer_id":54688401752391,"sku":null,"price":25.0,"currency_code":"EUR","in_stock":true},{"title":"L \/ Pink","offer_id":54688401785159,"sku":null,"price":25.0,"currency_code":"EUR","in_stock":true},{"title":"L \/ Blue","offer_id":54688401817927,"sku":null,"price":25.0,"currency_code":"EUR","in_stock":true},{"title":"XL \/ Pink","offer_id":54688401850695,"sku":null,"price":25.0,"currency_code":"EUR","in_stock":true},{"title":"XL \/ Blue","offer_id":54688401883463,"sku":null,"price":25.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0948\/4038\/9959\/files\/posts_fallen_ivy_all14.jpg?v=1788950909","url":"https:\/\/fallenivy.com\/products\/melody-bikini-bottom","provider":"Fallen Ivy","version":"1.0","type":"link"}