{"product_id":"solid-color-bikini-swimsuit-sexy-black-retro-high-waist-bikini-swimsuit","title":"black high-waisted bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a black bikini sitting by the lake – and still look the same after swimming?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a bikini just stays where it is – without you having to think about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd that's exactly where many notice the difference – not when putting it on, but when the beach day gets longer.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Black High-Waisted Bikini – Simple for Lake, Beach, and Vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nHigh-waisted, emphasizing the waist – plain black with no pattern, retro cut that remains timeless.\u003c\/p\u003e\n\n\u003cp\u003eThis black bikini for women thrives on what it doesn't have: no print, no pattern, no flashy buckle. Just a calm silhouette that feels as appropriate on the shores of Lake Constance as it does by the Mediterranean Sea. The black is deep and even – a color that doesn't ask questions, but simply is.\u003c\/p\u003e\n\n\u003cp\u003eThe high-waist cut sits at the waist and gives the bikini bottom a hold that barely changes when getting up from the towel or going into the water. The top remains proportionally slim – the combination of a high waist and a minimalist top creates a line reminiscent of sixties vintage swimwear, without appearing nostalgic. Those who appreciate simple swimwear and prefer not to wear patterns will find a form here that is understated yet present.\u003c\/p\u003e\n\n\u003cp\u003eWalking on the beach, with the top following arm movements without slipping. By the lake on the pier, with the high waist staying put when sitting down. On vacation, when combining the bikini with a wide linen skirt and going directly from the water to the ice cream parlor – black makes this possible, without having to think twice.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The waistband is still in the same place after an hour in the water as it was when you put it on – no pulling, no adjusting.\u003cbr\u003e• The deep black can be combined with almost anything – pareo, shorts, dress – without planning.\u003cbr\u003e• The cut is reminiscent of retro swimwear, yet it doesn't look like a costume – rather like a quiet decision for timelessness.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, check out the available sizes – the size calculator will help you choose the right top and bottom.\u003c\/strong\u003e\u003c\/p\u003e\n\n\n    \u003cdiv class=\"bn-size-calculator\"\u003e\n\n        \u003ch3\u003e📏 Size Calculator\u003c\/h3\u003e\n\n        \u003cp class=\"bn-calc-subtitle\"\u003eFind your perfect size\u003c\/p\u003e\n\n\n        \u003cdiv class=\"bn-calc-form\" id=\"bn-calc-form-bikini\"\u003e\n\n            \n            \u003cdiv class=\"bn-calc-field\"\u003e\n\n                \u003clabel for=\"bn_height\"\u003eHeight (cm)\u003c\/label\u003e\n                \u003cinput type=\"number\" id=\"bn_height\" name=\"bn_height\" placeholder=\"e.g. 175\"\u003e\n            \u003c\/div\u003e\n\n            \n            \u003cdiv class=\"bn-calc-field\"\u003e\n\n                \u003clabel for=\"bn_weight\"\u003eWeight (kg)\u003c\/label\u003e\n                \u003cinput type=\"number\" id=\"bn_weight\" name=\"bn_weight\" placeholder=\"e.g. 70\"\u003e\n            \u003c\/div\u003e\n\n            \n            \u003cdiv class=\"bn-calc-field\"\u003e\n\n                \u003clabel for=\"bn_bust\"\u003eBust circumference (cm) (optional)\u003c\/label\u003e\n                \u003cinput type=\"number\" id=\"bn_bust\" name=\"bn_bust\" placeholder=\"e.g. 90\"\u003e\n            \u003c\/div\u003e\n\n            \n\n            \u003cbutton type=\"button\" class=\"bn-calc-button\" onclick=\"calculateSize_bikini()\"\u003eCalculate Size\u003c\/button\u003e\n\n            \u003cdiv id=\"bn-calc-result\" class=\"bn-calc-result\"\u003e\u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n\u003cstyle\u003e\n\n    .bn-size-calculator {\n        max-width: 500px;\n        margin: 40px auto;\n        padding: 30px;\n        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n        border-radius: 20px;\n        box-shadow: 0 15px 40px rgba(0,0,0,0.2);\n        color: white;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    }\n\n    .bn-size-calculator h3 {\n        text-align: center;\n        margin: 0 0 10px 0;\n        font-size: 28px;\n        font-weight: 700;\n    }\n\n    .bn-calc-subtitle {\n        text-align: center;\n        margin: 0 0 25px 0;\n        opacity: 0.9;\n        font-size: 16px;\n    }\n\n    .bn-calc-form {\n        display: flex;\n        flex-direction: column;\n        gap: 15px;\n    }\n\n    .bn-calc-field {\n        display: flex;\n        flex-direction: column;\n        gap: 6px;\n    }\n\n    .bn-calc-field label {\n        font-size: 14px;\n        font-weight: 600;\n        opacity: 0.95;\n    }\n\n    .bn-calc-field input,\n    .bn-calc-select {\n        padding: 14px;\n        border: none;\n        border-radius: 10px;\n        font-size: 16px;\n        background: rgba(255,255,255,0.95);\n        color: #1a202c;\n        transition: all 0.3s;\n    }\n\n    .bn-calc-field input:focus,\n    .bn-calc-select:focus {\n        outline: none;\n        background: white;\n        box-shadow: 0 0 0 3px rgba(255,255,255,0.3);\n    }\n\n    .bn-calc-button {\n        margin-top: 10px;\n        padding: 16px;\n        background: #08890e;\n        color: white;\n        border: none;\n        border-radius: 12px;\n        font-size: 18px;\n        font-weight: 700;\n        cursor: pointer;\n        transition: all 0.3s;\n        text-transform: uppercase;\n        letter-spacing: 0.5px;\n    }\n\n    .bn-calc-button:hover {\n        background: #06660a;\n        transform: translateY(-2px);\n        box-shadow: 0 8px 20px rgba(0,0,0,0.3);\n    }\n\n    .bn-calc-button:active {\n        transform: translateY(0);\n    }\n\n    .bn-calc-result {\n        margin-top: 20px;\n        padding: 20px;\n        background: rgba(255,255,255,0.2);\n        border-radius: 12px;\n        text-align: center;\n        font-size: 20px;\n        font-weight: 700;\n        min-height: 60px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        backdrop-filter: blur(10px);\n    }\n\n    .bn-calc-result:empty {\n        display: none;\n    }\n\n    \/* 🔥 NEU: Geschlechts-abhängige Felder ausblenden *\/\n    .bn-show-if-women,\n    .bn-show-if-men {\n        display: none;\n    }\n\n    @media (max-width: 600px) {\n        .bn-size-calculator {\n            margin: 20px;\n            padding: 20px;\n        }\n    }\n    \n\u003c\/style\u003e\n\n\u003cscript\u003e\n\n\/\/ 🔥 Geschlechts-abhängige Felder ein-\/ausblenden\nfunction toggleGenderFields_bikini() {\n    const genderSelect = document.getElementById('bn_gender');\n    if (!genderSelect) return;\n    \n    const gender = genderSelect.value;\n    \n    \/\/ Alle Felder mit \"bn-show-if-women\" oder \"bn-show-if-men\"\n    document.querySelectorAll('.bn-show-if-women').forEach(el =\u003e {\n        el.style.display = (gender === 'women') ? 'flex' : 'none';\n    });\n    \n    document.querySelectorAll('.bn-show-if-men').forEach(el =\u003e {\n        el.style.display = (gender === 'men') ? 'flex' : 'none';\n    });\n}\n\n\/\/ Event Listener für Geschlechts-Auswahl (robust: funktioniert auch nach Shopify-DOM-Injection)\n(function() {\n    function initGenderToggle_bikini() {\n        const genderSelect = document.getElementById('bn_gender');\n        if (genderSelect) {\n            genderSelect.addEventListener('change', toggleGenderFields_bikini);\n            toggleGenderFields_bikini();\n        } else {\n            setTimeout(initGenderToggle_bikini, 100);\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initGenderToggle_bikini);\n    } else {\n        initGenderToggle_bikini();\n    }\n})();\n\nfunction calculateSize_bikini() {\n    const height = parseFloat(document.getElementById('bn_height')?.value || 0);\n    const weight = parseFloat(document.getElementById('bn_weight')?.value || 0);\n    const hip = parseFloat(document.getElementById('bn_hip')?.value || 0);\n    const bust = parseFloat(document.getElementById('bn_bust')?.value || 0);\n    const waist = parseFloat(document.getElementById('bn_waist')?.value || 0);\n    const chest = parseFloat(document.getElementById('bn_chest')?.value || 0);\n\n    const sizeSets = [{\"calib\": {\"height\": 163, \"weight\": 63, \"bust\": 90, \"hip\": 87, \"size_true\": \"M\"}, \"sizes\": [{\"name\": \"XS\", \"bust_min\": 76.0, \"bust_max\": 81.0, \"waist_min\": 104.1, \"waist_max\": 126.6, \"hip_min\": 81.0, \"hip_max\": 86.0}, {\"name\": \"S\", \"bust_min\": 81.0, \"bust_max\": 86.0, \"waist_min\": 114.6, \"waist_max\": 137.1, \"hip_min\": 86.0, \"hip_max\": 91.0}, {\"name\": \"M\", \"bust_min\": 86.0, \"bust_max\": 91.0, \"waist_min\": 61.0, \"waist_max\": 66.0, \"hip_min\": 91.0, \"hip_max\": 97.0}, {\"name\": \"L\", \"bust_min\": 91.0, \"bust_max\": 97.0, \"waist_min\": 66.0, \"waist_max\": 71.0, \"hip_min\": 97.0, \"hip_max\": 102.0}, {\"name\": \"XL\", \"bust_min\": 97.0, \"bust_max\": 102.0, \"waist_min\": 71.0, \"waist_max\": 76.0, \"hip_min\": 102.0, \"hip_max\": 107.0}]}];\n    const tolerance = {\"height_weight\": 1.0, \"weight_weight\": 1.0, \"hip_weight\": 3.0, \"bust_weight\": 3.0, \"waist_weight\": 1.5, \"chest_weight\": 0.5};\n\n    \/\/ 🔥 NEU v7: Für Hoodie → Filter nach Herren\/Damen\n    const genderSelect = document.getElementById('bn_gender');\n    let filteredSizeSets = sizeSets;\n\n    if (genderSelect) {\n        const selectedGender = genderSelect.value;\n        filteredSizeSets = sizeSets.filter(s =\u003e (s.calib?.group || 'men') === selectedGender);\n        \n        if (filteredSizeSets.length === 0) {\n            document.getElementById('bn-calc-result').innerHTML = \n                '⚠️ Keine Models für die gewählte Gruppe verfügbar.';\n            return;\n        }\n        \n        console.log('🔥 Filtered by gender:', selectedGender, '→', filteredSizeSets.length, 'model(s)');\n    }\n\n    console.log('🔥 Multi-Model Calculator Debug:', { height, weight, hip, bust, waist, chest, sizeSets: filteredSizeSets, tolerance });\n\n    if (!filteredSizeSets || filteredSizeSets.length === 0) {\n        document.getElementById('bn-calc-result').innerHTML = '⚠️ Keine Größentabelle verfügbar.';\n        return;\n    }\n\n    \/\/ 🔥 SCHRITT 1: Berechne für JEDES Model-Set die Distanz zum User\n    const setScores = [];\n    for (let i = 0; i \u003c filteredSizeSets.length; i++) {\n        const set = filteredSizeSets[i];\n        const calib = set.calib || {};\n\n        let cDiff = 0;\n        let cCount = 0;\n\n        if (calib.height \u0026\u0026 height \u003e 0) {\n            cDiff += Math.pow(height - calib.height, 2) * 1.0;\n            cCount++;\n        }\n        if (calib.weight \u0026\u0026 weight \u003e 0) {\n            cDiff += Math.pow(weight - calib.weight, 2) * 1.0;\n            cCount++;\n        }\n        if (calib.bust \u0026\u0026 bust \u003e 0) {\n            cDiff += Math.pow(bust - calib.bust, 2) * 1.5;\n            cCount++;\n        }\n        if (calib.hip \u0026\u0026 hip \u003e 0) {\n            cDiff += Math.pow(hip - calib.hip, 2) * 1.5;\n            cCount++;\n        }\n        if (calib.waist \u0026\u0026 waist \u003e 0) {\n            cDiff += Math.pow(waist - calib.waist, 2) * 1.5;\n            cCount++;\n        }\n\n        const score = cCount \u003e 0 ? Math.sqrt(cDiff \/ cCount) : 9999;\n        const weight_factor = score \u003e 0 ? 1.0 \/ (1.0 + score \/ 10.0) : 1.0;\n\n        setScores.push({\n            index: i,\n            score: score,\n            weight: weight_factor,\n            calib: calib,\n            sizes: set.sizes || []\n        });\n    }\n\n    \/\/ Normalisiere Gewichte (Summe = 1.0)\n    const totalWeight = setScores.reduce((sum, s) =\u003e sum + s.weight, 0);\n    if (totalWeight \u003e 0) {\n        setScores.forEach(s =\u003e s.weight \/= totalWeight);\n    }\n\n    console.log('🔥 Model Scores:', setScores.map(s =\u003e ({\n        calib: s.calib,\n        score: s.score.toFixed(1),\n        weight: (s.weight * 100).toFixed(1) + '%'\n    })));\n\n    \/\/ 🔥 SCHRITT 2: Für jede Size sammle gewichtete Scores aus ALLEN Model-Sets\n    const sizeVotes = {};\n\n    for (const setScore of setScores) {\n        const sizes = setScore.sizes;\n        const setWeight = setScore.weight;\n\n        for (const size of sizes) {\n            let diff = 0;\n            let count = 0;\n\n            \/\/ Körpergröße\n            if (size.height_min !== undefined \u0026\u0026 size.height_max !== undefined \u0026\u0026 height \u003e 0) {\n                const heightCenter = (size.height_min + size.height_max) \/ 2;\n                diff += Math.pow(height - heightCenter, 2) * tolerance.height_weight;\n                count++;\n            }\n\n            \/\/ Gewicht\n            if (size.weight_min !== undefined \u0026\u0026 size.weight_max !== undefined \u0026\u0026 weight \u003e 0) {\n                const weightCenter = (size.weight_min + size.weight_max) \/ 2;\n                diff += Math.pow(weight - weightCenter, 2) * tolerance.weight_weight;\n                count++;\n            }\n\n            \/\/ Hüftumfang\n            if (size.hip_min !== undefined \u0026\u0026 size.hip_max !== undefined \u0026\u0026 hip \u003e 0) {\n                const hipCenter = (size.hip_min + size.hip_max) \/ 2;\n                diff += Math.pow(hip - hipCenter, 2) * tolerance.hip_weight;\n                count++;\n            }\n\n            \/\/ Brustumfang\n            if (size.bust_min !== undefined \u0026\u0026 size.bust_max !== undefined \u0026\u0026 bust \u003e 0) {\n                const bustCenter = (size.bust_min + size.bust_max) \/ 2;\n                diff += Math.pow(bust - bustCenter, 2) * tolerance.bust_weight;\n                count++;\n            }\n\n            \/\/ Taillenumfang\n            if (size.waist_min !== undefined \u0026\u0026 size.waist_max !== undefined \u0026\u0026 waist \u003e 0) {\n                const waistCenter = (size.waist_min + size.waist_max) \/ 2;\n                diff += Math.pow(waist - waistCenter, 2) * tolerance.waist_weight;\n                count++;\n            }\n\n            \/\/ Brustumfang\/Chest\n            if (size.chest_min !== undefined \u0026\u0026 size.chest_max !== undefined \u0026\u0026 chest \u003e 0) {\n                const chestCenter = (size.chest_min + size.chest_max) \/ 2;\n                diff += Math.pow(chest - chestCenter, 2) * tolerance.chest_weight;\n                count++;\n            }\n\n            if (count \u003e 0) {\n                const sizeDiff = Math.sqrt(diff \/ count);\n\n                \/\/ 🔥 Gewichte diesen Score mit dem Model-Gewicht\n                const weightedScore = sizeDiff * (1.0 \/ (setWeight + 0.01));\n\n                if (!sizeVotes[size.name]) {\n                    sizeVotes[size.name] = {\n                    name: size.name,\n                    totalScore: 0,\n                    count: 0\n                    };\n                }\n\n                sizeVotes[size.name].totalScore += weightedScore;\n                sizeVotes[size.name].count++;\n            }\n        }\n    }\n\n    \/\/ 🔥 SCHRITT 3: Finde die Size mit dem besten durchschnittlichen Score\n    let bestSize = '';\n    let bestAvgScore = Number.POSITIVE_INFINITY;\n\n    for (const sizeName in sizeVotes) {\n        const vote = sizeVotes[sizeName];\n        const avgScore = vote.totalScore \/ vote.count;\n\n        if (avgScore \u003c bestAvgScore) {\n            bestAvgScore = avgScore;\n            bestSize = sizeName;\n        }\n    }\n\n    console.log('🔥 Size Votes:', sizeVotes);\n    console.log('🔥 Best Size:', bestSize, 'Score:', bestAvgScore.toFixed(2));\n\n    if (bestSize) {\n        document.getElementById('bn-calc-result').innerHTML = \n            '✅ Deine empfohlene Größe: \u003cstrong\u003e' + bestSize + '\u003c\/strong\u003e';\n    } else {\n        document.getElementById('bn-calc-result').innerHTML = \n            '⚠️ Bitte fülle alle Felder aus.';\n    }\n}\n\n\u003c\/script\u003e\n\n\n  \u003cdiv class=\"bn-quick-benefits\"\u003e\u003cul\u003e\n\n\u003cli\u003e✔ Cut: High waist, retro silhouette\u003c\/li\u003e\n\n\u003cli\u003e✔ Color: Black (solid, no pattern)\u003c\/li\u003e\n\n\u003cli\u003e✔ Special feature: Top and bottom can be selected separately\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\u003c\/div\u003e\n\n\n  \u003cp class=\"bn-mini-cta\"\u003eIf the cut and size suit you, a black high-waisted bikini can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen the bikini gives way in the water before the day is over\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA comfortable fit begins with a cut designed for it.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-questions\"\u003e\n\n  \u003ch3\u003eIf you recognize yourself here\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n\u003cli\u003eTop doesn't stay where it should\u003c\/li\u003e\n\n\u003cli\u003eHigh waist digs in after a short time\u003c\/li\u003e\n\n\u003cli\u003eSwimming and the fit changes\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou go into the water, swim a few laps – and when you get out, you notice that the waistband has shifted or the top needs adjusting. This doesn't happen because something is broken. It happens because many bikinis are cut for lying down, not for movement.\u003c\/p\u003e\n\n\u003cp\u003eThe cut plays a larger role than often assumed. A low waist has less contact surface and gives way more easily with movement. A top without sufficient support under the straps moves with the water. This is not just a matter of material quality – it's a matter of construction.\u003c\/p\u003e\n\n\u003cp\u003eThis high-waisted bikini is designed for a stable fit during everyday movement – swimming, standing up, walking on the beach. Whether this is sufficient for your needs also depends on what you plan to do: For intensive swimming or water sports with many jumps, such a leisure bikini is probably not the first choice – specially designed sports bikinis are better suited for that. For a relaxed day at the lake or beach, where movement is normal but not intensely sporty, it can be a good fit.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eHow actively will you most often wear your bikini – mainly lying and swimming, or also with more extended movement in the water?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate the cut and size – enter your height and weight, and you'll get a guideline for the top and bottom separately.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTake your time to look through the available sizes – top and bottom can be chosen independently.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay particular attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Top usually stays put while swimming\u003c\/li\u003e\n\n\u003cli\u003e→ High waist is still in the same place after a long beach day as when first put on\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cdiv class=\"bn-decision-anchor\"\u003e\n\n\u003ch3\u003eThis will help you decide\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ High waist – designed for stable fit during normal movement\u003c\/li\u003e\n\n\u003cli\u003e✅ Timeless black without pattern – versatile to combine\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be chosen separately – for individual fit\u003c\/li\u003e\n\n\u003cli\u003e✅ Retro cut – emphasizes the waist, slim silhouette\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not suitable for intense water sports or frequent jumping\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those looking for patterns, prints, or striking details will find this model very simple\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No sports top straps – no maximum support for sports activities\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \u003cdiv class=\"bn-compare\"\u003e\n\n\u003cdiv class=\"bn-compare-header\"\u003e\n\n\u003cspan class=\"bn-compare-icon\"\u003e⚖️\u003c\/span\u003e\u003ch3\u003eTypical Differences\u003c\/h3\u003e\n\n\u003cp class=\"bn-compare-sub\"\u003eWhat many complain about with similar products – and what this one is designed for.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\u003ctable\u003e\n\n\u003ctr\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-other\"\u003e❌ Typical with similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ black high-waisted bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips when swimming\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for stable fit during normal everyday movement in the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eHigh waist digs in or slides down\u003c\/td\u003e\n\n\u003ctd\u003eHigh-waist cut with wide waistband – can sit comfortably under normal use\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline bikini sizes are hard to estimate\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom can be chosen separately, size calculator available with height and weight\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern or print quickly looks busy\u003c\/td\u003e\n\n\u003ctd\u003eSolid black with no motif – remains timeless and combinable\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\n\u003c\/table\u003e\n\n\n\u003c\/div\u003e\n\n  \u003cp class=\"bn-loop\"\u003eWe've considered precisely these situations for the black high-waisted bikini – so you have to adjust less while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow a black high-waisted bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you realize: This fits.\u003c\/p\u003e\n\n  \n  \u003cdiv class=\"bn-lupe-item\"\u003e\n\n    \u003cdiv class=\"bn-lupe-icon\"\u003e💧\u003c\/div\u003e\n\n    \u003cdiv class=\"bn-lupe-content\"\u003e\n\n      \u003ch4\u003eIn the water\u003c\/h4\u003e\n\n      \u003cp\u003eThe cut is designed for a stable fit – even with movement.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-lupe-item\"\u003e\n\n    \u003cdiv class=\"bn-lupe-icon\"\u003e🌊\u003c\/div\u003e\n\n    \u003cdiv class=\"bn-lupe-content\"\u003e\n\n      \u003ch4\u003eAfter swimming\u003c\/h4\u003e\n\n      \u003cp\u003eThe material dries quickly. No heavy, wet feeling on the skin.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-lupe-item\"\u003e\n\n    \u003cdiv class=\"bn-lupe-icon\"\u003e☀️\u003c\/div\u003e\n\n    \u003cdiv class=\"bn-lupe-content\"\u003e\n\n      \u003ch4\u003eOn the beach\u003c\/h4\u003e\n\n      \u003cp\u003eSaltwater, sun, sand: The fabric retains its shape. No discoloration, no stretching out.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-lupe-item\"\u003e\n\n    \u003cdiv class=\"bn-lupe-icon\"\u003e🧴\u003c\/div\u003e\n\n    \u003cdiv class=\"bn-lupe-content\"\u003e\n\n      \u003ch4\u003eCare\u003c\/h4\u003e\n\n      \u003cp\u003eRinse briefly, hang up, done. Delicate wash 30°C, do not tumble dry – follow care instructions for longer durability.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n  \u003cdiv class=\"bn-material\"\u003e\n\n  \u003ch3\u003eCare \u0026amp; Material\u003c\/h3\u003e\n\n  \u003cdiv\u003e• Material: 78% Polyamide, 22% Elastane\u003cbr\u003e• Care: Delicate wash 30 °C, do not tumble dry\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \n  \n\u003cdiv class=\"bn-target\"\u003e\n\n  \u003ch3\u003eMay be a good fit if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eblack high-waisted bikini\u003c\/strong\u003e with a fit that suits you\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003ecalm, simple designs\u003c\/strong\u003e without being obtrusive\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003eeveryday comfort\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort and durability\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\n\u003cli\u003e→ You want to \u003cstrong\u003eavoid bad purchases\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\n  \u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n  \n\u003cdiv class=\"bn-specs\"\u003e\n\n  \u003ch3\u003eProduct details at a glance\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\n\n\u003cstrong\u003eCare:\u003c\/strong\u003e Delicate wash 30°C, do not tumble dry\u003c\/li\u003e\n\n  \u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently asked questions about black high-waisted bikinis\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow do I find the right size for a black high-waisted bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSince bikini tops and bottoms can have different sizes, we recommend our size calculator. Enter your height and weight – you'll get a guideline for both parts separately. If in doubt between two sizes, it can help to choose the larger size for the bottom, especially if the high waist should sit comfortably.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does the high waist fit with movement in the water?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe high-waist cut is designed for a stable fit during normal everyday movement – when swimming, walking, and sitting. For very intense water sports or frequent jumping, a specially designed sports bikini is usually the better choice.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWho is a simple black high-waisted bikini in a retro cut suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThis bikini is a good fit if you prefer a minimalist style without patterns and are looking for a timeless cut that is suitable for lakes, beaches, and holidays. Those who prefer eye-catching prints or sporty functionality may find more suitable options in other cuts.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow do I properly care for this black bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eAfter wearing, rinse briefly with clear water, then wash on a delicate cycle at 30°C. Do not tumble dry – drying flat preserves the shape and color longer.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eCan I order the top and bottom in different sizes?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes – top and bottom can be chosen separately. This is particularly helpful if your upper and lower body are different clothing sizes. Our size calculator gives you a guideline for both parts.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n  \u003cdiv class=\"bn-related-articles\"\u003e\n\n  \u003ch3\u003eGuide\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003eLarge Size Swimsuits\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/bugel-bikini\"\u003eUnderwire Bikini\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-fur-jeden-typ\"\u003eSwimsuit Guide 2025\u003c\/a\u003e\u003c\/li\u003e\n\n  \u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Deep black, even color – no pattern, no distraction\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"High waist emphasizes the waist, slim silhouette from front and side\" style=\"display:none\"\u003e\u003c\/span\u003e\n\n  \u003cdetails class=\"bn-ship\"\u003e\u003csummary\u003eDelivery\u003c\/summary\u003e\u003cdiv\u003e\u003cdiv class=\"bn-shipping-info\"\u003e\n\n    \u003ch4\u003e📦 Delivery Time\u003c\/h4\u003e\n\n    \u003cp\u003e\u003cstrong\u003e5–11 days\u003c\/strong\u003e after order placement\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce on demand – this reduces overproduction and inventory, especially for printed goods!\n    \u003c\/p\u003e\n\n\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/details\u003e\n  \n  \u003cdiv class=\"bn-return-policy\"\u003eOrder without pressure. 30 days to decide.\u003c\/div\u003e\n\n  \u003cdiv class=\"bn-source\"\u003e\u003csmall class=\"bn-source\"\u003eSource: Bodenseemarke – Information verified in accordance with EU-GPSR.\u003cbr\u003eManufacturer: Eugen Noll Bodenseemarke GbR, Zaunkönigweg 8, 88048 Friedrichshafen, DE, info@bodenseemarke.com\u003c\/small\u003e\u003c\/div\u003e\n\n\n  \u003cp class=\"bn-loop-end\"\u003eIf you recognize yourself in the scenes above, a black high-waisted bikini can be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eblack high-waisted bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€20.99\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cbutton type=\"button\" class=\"bn-cta-button\" onclick=\"var t=document.querySelector('.product-form__input')||document.querySelector('[name=id]')||document.querySelector('form[action*=cart]');if(t){t.scrollIntoView({behavior:'smooth',block:'center'})}else{window.scrollTo({top:0,behavior:'smooth'})}\"\u003eSelect size \u0026amp; order ↑\u003c\/button\u003e\u003cp class=\"bn-cta-trust\"\u003eOrder without pressure. 30 days to decide.\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-stars\"\u003e★★★★★\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-closing-note\"\u003e\n\n    \u003cp\u003e\n        Ultimately, it's not about the garment itself, but about the moments you experience in it. \n        We hope that the black high-waisted bikini can accompany you exactly as you wish.\n    \u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; margin-top: 1rem; font-style: normal;\"\u003e\n        \u003ca href=\"\/en\/pages\/uber-uns\" style=\"color: #3b82f6; text-decoration: none; font-weight: 500;\"\u003eLearn about our philosophy →\u003c\/a\u003e\n    \u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003csmall class=\"bn-updated\"\u003eLast updated: 20.05.2026\u003c\/small\u003e\n\n  \n\n\u003cstyle\u003e\n\n  .bn-product-copy{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:16px!important;line-height:1.7!important;color:#111827}\n  .bn-product-copy h2{font-size:1.8rem!important;margin:24px 0 12px;line-height:1.3}\n  .bn-product-copy h3{font-size:1.25rem!important;margin:20px 0 10px;line-height:1.4}\n  .bn-product-copy p{margin:12px 0;font-size:1rem!important;line-height:1.7!important}\n  .bn-product-copy li{font-size:1rem!important;line-height:1.7!important}\n @media(max-width:768px){\n    .bn-product-copy{font-size:15px!important;line-height:1.65!important}\n    .bn-product-copy h2{font-size:1.45rem!important;margin:18px 0 10px}\n    .bn-product-copy h3{font-size:1.15rem!important;margin:16px 0 8px}\n    .bn-product-copy p,.bn-product-copy li{font-size:0.97rem!important;line-height:1.65!important}\n  }\n  .bn-subheadline{color:#374151}\n  .bn-questions{margin:14px 0;padding:16px;background:#f9fafb;border-radius:8px}\n  .bn-questions ul{margin:8px 0 0 20px}\n  .bn-questions li{margin:6px 0}\n  .bn-pricebox{margin:16px 0;padding:12px;background:#f0f9ff;border-left:3px solid #3b82f6;border-radius:8px}\n  details.bn-ship, details.bn-returns{margin:10px 0;background:#f9fafb;padding:10px 12px;border-radius:8px}\n  details summary{cursor:pointer;font-weight:600}\n  .bn-material{margin:16px 0}\n  .bn-sizechart{margin:16px 0}\n  .bn-fit{margin:16px 0}\n  .bn-mini-cta{margin:20px 0;padding:16px;background:#f0f9ff;border-left:4px solid #3b82f6;font-weight:500;font-style:italic}\n  .bn-loop{margin:16px 0;padding:12px;background:#fef3c7;border-left:4px solid #f59e0b;font-weight:500}\n  .bn-loop-end{margin:20px 0;padding:16px;background:#f0fdf4;border-left:4px solid #10b981;font-weight:500;font-style:italic}\n  .bn-target{margin:20px 0;padding:20px;background:#f0f9ff;border-radius:8px;border-left:4px solid #3b82f6}\n  .bn-target h3{margin:0 0 12px 0;font-size:1.2rem}\n  .bn-specs{margin:20px 0;padding:20px;background:#f9fafb;border-radius:8px}\n  .bn-specs h3{margin:0 0 12px 0;font-size:1.2rem}\n  .bn-faq{margin:32px 0;padding:0;background:#fff;border-radius:12px;border:2px solid #d1fae5;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.05)}\n  .bn-faq\u003eh3{margin:0;padding:18px 24px;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border-bottom:2px solid #bbf7d0;font-size:1.1rem;color:#065f46;font-weight:700}\n  .bn-faq [itemtype=\"https:\/\/schema.org\/Question\"]{padding:16px 24px;border-top:1px solid #f0fdf4}\n  .bn-faq [itemtype=\"https:\/\/schema.org\/Question\"]:first-of-type{border-top:none}\n  .bn-faq h4{margin:0 0 8px 0;font-size:0.95rem;font-weight:600;color:#1e293b;cursor:pointer}\n  .bn-faq h4::before{content:\"❓ \";font-size:0.85rem}\n  .bn-faq p[itemprop=\"text\"]{margin:0;font-size:0.9rem;color:#475569;line-height:1.6;padding-left:1.4rem}\n  .bn-entity{margin:20px 0;padding:20px;background:#fef3c7;border-radius:8px;border-left:4px solid #f59e0b}\n  .bn-lupe{margin:30px 0;padding:24px;background:#f0f9ff;border-radius:12px;border-left:4px solid #3b82f6}\n  .bn-lupe h3{margin:0 0 8px 0;font-size:1.3rem}\n  .bn-lupe-intro{margin:0 0 20px 0;color:#374151;font-style:italic}\n  .bn-lupe-item{display:flex;gap:16px;margin:16px 0;padding:16px;background:white;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,0.1)}\n  .bn-lupe-icon{font-size:32px;flex-shrink:0}\n  .bn-lupe-content h4{margin:0 0 6px 0;font-size:1.05rem;font-weight:600}\n  .bn-lupe-content p{margin:0;color:#374151;line-height:1.5}\n  .bn-updated{display:block;margin-top:8px;color:#6b7280}\n  .bn-return-policy{margin:16px 0;padding:12px;background:#f9fafb;border-left:3px solid #2563eb;font-size:0.95rem}\n  .bn-product-image{width:100%;height:auto;margin:20px 0;border-radius:8px}\n  .bn-gpsr{margin-top:32px}\n  .bn-quick-benefits{margin:14px 0 20px 0;padding:12px 16px;background:#f9fafb;border-radius:8px}\n  .bn-quick-benefits ul{margin:0;padding-left:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}\n  .bn-quick-benefits li{font-size:0.9rem;color:#374151;font-weight:500}\n  .bn-problem-hook{margin:0 0 16px 0;padding:14px 20px;background:#fef9ec;border-left:4px solid #f59e0b;border-radius:6px;font-style:italic;color:#6b7280;font-size:0.95rem}\n  .bn-social-proof{margin:20px 0;padding:20px;background:#f0fdf4;border-radius:8px;border-left:4px solid #10b981}\n  .bn-social-proof h3{margin:0 0 12px 0;font-size:1.1rem}\n  .bn-social-proof ul{margin:0;padding-left:0;list-style:none}\n  .bn-social-proof li{margin:8px 0;color:#374151}\n  .bn-decision-anchor{margin:20px 0;padding:20px;background:#f0fdf4;border-radius:8px;border-left:4px solid #10b981}\n  .bn-decision-anchor h3{margin:0 0 12px 0;font-size:1.1rem}\n  .bn-decision-anchor ul{margin:6px 0;padding-left:0;list-style:none}\n  .bn-decision-anchor li{margin:6px 0;line-height:1.5}\n  .bn-compare{margin:32px 0;padding:0;background:#fff;border-radius:12px;border:2px solid #e5e7eb;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.06)}\n  .bn-compare-header{padding:20px 24px 16px;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-bottom:2px solid #bae6fd;display:flex;align-items:flex-start;gap:12px}\n  .bn-compare-icon{font-size:1.6rem;flex-shrink:0;margin-top:2px}\n  .bn-compare-header h3{margin:0 0 4px 0;font-size:1.15rem;color:#0c4a6e;font-weight:700}\n  .bn-compare-sub{margin:0;font-size:0.85rem;color:#0369a1;font-style:italic}\n  .bn-compare table{width:100%;border-collapse:collapse;margin:0}\n  .bn-compare th{padding:14px 16px;text-align:left;font-size:0.85rem;font-weight:700;letter-spacing:0.3px}\n  .bn-compare th:first-child{background:#fff1f2;color:#be123c;border-right:2px solid #e5e7eb;width:50%}\n  .bn-compare th:last-child{background:#f0fdf4;color:#15803d}\n  .bn-compare-th-other,.bn-compare-th-this{display:block}\n  .bn-compare td{padding:13px 16px;font-size:0.9rem;line-height:1.45;vertical-align:top;border-top:1px solid #f1f5f9}\n  .bn-compare td:first-child{background:#fff;color:#64748b;border-right:2px solid #e5e7eb}\n  .bn-compare td:last-child{background:#f8fff9;color:#1e293b;font-weight:500}\n  .bn-compare tr:last-child td{border-bottom:none}\n  .bn-related-articles{margin:20px 0;padding:20px;background:#f9fafb;border-radius:8px;border-left:4px solid #6366f1}\n  .bn-related-articles h3{margin:0 0 12px 0;font-size:1.1rem}\n  .bn-related-articles ul{margin:8px 0;padding-left:20px}\n  .bn-related-articles li{margin:6px 0}\n  .bn-related-articles a{color:#4f46e5;text-decoration:none;font-weight:500}\n  .bn-related-articles a:hover{text-decoration:underline}\n  .bn-bottom-cta{margin:3rem 0 1rem 0;padding:2rem;background:var(--color-background-primary,#fff);border:0.5px solid var(--color-border-tertiary,#e5e7eb);border-radius:12px;text-align:center}\n  .bn-cta-title{font-size:1.05rem;font-weight:500;margin:0 0 8px 0;color:var(--color-text-primary,#111827)}\n  .bn-cta-price{margin:0 0 18px 0;font-size:1.1rem}\n  .bn-cta-original{text-decoration:line-through;color:#9ca3af;margin-right:10px;font-size:1rem}\n  .bn-cta-sale{color:#dc2626;font-weight:500;font-size:1.25rem}\n  .bn-cta-current{font-weight:500;font-size:1.25rem;color:var(--color-text-primary,#111827)}\n  .bn-cta-button{display:block;width:100%;padding:14px 28px;background:#f9ca51;color:#111827;border:none;border-radius:8px;font-size:0.95rem;font-weight:500;cursor:pointer;letter-spacing:0.3px;transition:opacity 0.2s}\n  .bn-cta-button:hover{opacity:0.88}\n  .bn-cta-trust{margin:14px 0 6px 0;font-weight:500;font-size:0.9rem;color:var(--color-text-primary,#111827)}\n  .bn-cta-stars{margin:0;font-size:1.2rem;color:#f9ca51;letter-spacing:2px}\n  .bn-closing-note{margin-top:3rem;padding:2rem;border-top:1px solid #eee;text-align:center;font-style:italic;color:#4b5563}\n  .bn-closing-note a{color:#3b82f6;text-decoration:none;font-weight:500}\n  .bn-shipping-info h4{margin:0 0 8px 0;font-size:1.05rem;font-weight:600}\n  .bn-shipping-info p{margin:6px 0}\n  .bn-energy{margin:8px 0 12px 0;padding:14px 20px;font-style:italic;color:#374151;font-size:1.05rem;line-height:1.8;background:#f0fdf4;border-left:3px solid #10b981;border-radius:8px}\n  .bn-soft-reality{margin:8px 0 20px 0;padding:10px 20px;color:#6b7280;font-size:0.95rem;font-style:italic;line-height:1.7;background:#f9fafb;border-radius:8px}\n  \n\u003c\/style\u003e\n\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"schwarzer Bikini high waist\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/solid-black-retro-high-waist-bikini-5310119574028.png?v=1776601517\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"20.99\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Black \/ M","offer_id":54413475709196,"sku":"CJYDYYYJ00138-Black-M","price":20.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ L","offer_id":54413475741964,"sku":"CJYDYYYJ00138-Black-L","price":20.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ S","offer_id":54413475774732,"sku":"CJYDYYYJ00138-Black-S","price":20.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ XL","offer_id":54413475807500,"sku":"CJYDYYYJ00138-Black-XL","price":20.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/solid-black-retro-high-waist-bikini-5310119574028.png?v=1776601517","url":"https:\/\/www.bodenseemarke.com\/en\/products\/solid-color-bikini-swimsuit-sexy-black-retro-high-waist-bikini-swimsuit","provider":"Bodenseemarke","version":"1.0","type":"link"}