{"title":"swimwear","description":"\u003cp\u003e Here we present swimsuits, bikinis, high-waisted swimsuits, high-waisted bikinis, triangle bikinis and other models.\u003c\/p\u003e\n\n\u003c!----\u003e","products":[{"product_id":"schlankmachener-tailienshaping-badeanzug-damen","title":"Leopard Print Women's Swimsuit","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a swimsuit that fits as well on the beach as it does in the water?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that calm feeling when a one-piece just fits – without having to think about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eOver the course of a day at the beach, it often becomes clear whether a swimsuit truly keeps up – or if it constantly needs a little attention.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Leopard Print Swimsuit with Black Accents – for Lake, Pool, and Vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nA one-piece in a subtle leopard print with black stripes and accents – designed for days when you move from the water to the lounge chair without a second thought.\u003c\/p\u003e\n\n\u003cp\u003eThe leopard print of this swimsuit balances between animal print and everyday wearability. The black lines and accents keep the pattern subdued – it appears more like a textured fabric than a loud statement. Those who appreciate patterns that are interesting up close but understated from a distance will find a one-piece here that can do both.\u003c\/p\u003e\n\n\u003cp\u003eOn the shore of Lake Constance, when you emerge from the water and wrap a towel around your shoulders: The leopard print needs no further embellishment. Or by the pool, on the lounge chair, with sunglasses – the black base tone blends with the pattern so that the swimsuit remains calm even next to other colors. Combined with a black sarong or a solid-colored beach towel, it looks like a deliberately chosen piece, not an accidental purchase.\u003c\/p\u003e\n\n\u003cp\u003eFor a vacation where you don't want to overthink what to wear every day. For an afternoon at the lake where the swimsuit should fit perfectly from the first to the last hour. Or as a gift for someone who likes patterns but not bright colors – this one-piece hits that note quite precisely.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• You put it on and the pattern needs no explanation – it's simply there.\u003cbr\u003e• On the lounge chair, you don't look overdressed or invisible – the leopard print women's swimsuit strikes a balance.\u003cbr\u003e• Those who appreciate subtle patterns that don't fade – neither visually nor after vacation – might find what they're looking for here.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOnce you've found the right size, the rest is easy to gauge – the size calculator helps with that.\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-badeanzug\"\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 (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_badeanzug()\"\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_badeanzug() {\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_badeanzug() {\n        const genderSelect = document.getElementById('bn_gender');\n        if (genderSelect) {\n            genderSelect.addEventListener('change', toggleGenderFields_badeanzug);\n            toggleGenderFields_badeanzug();\n        } else {\n            setTimeout(initGenderToggle_badeanzug, 100);\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initGenderToggle_badeanzug);\n    } else {\n        initGenderToggle_badeanzug();\n    }\n})();\n\nfunction calculateSize_badeanzug() {\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\": \"S\", \"bust_min\": 64.0, \"bust_max\": 68.0, \"waist_min\": 62.0, \"waist_max\": 68.0, \"hip_min\": 72.0, \"hip_max\": 76.0}, {\"name\": \"M\", \"bust_min\": 68.0, \"bust_max\": 72.0, \"waist_min\": 68.0, \"waist_max\": 72.0, \"hip_min\": 76.0, \"hip_max\": 80.0}, {\"name\": \"L\", \"bust_min\": 72.0, \"bust_max\": 76.0, \"waist_min\": 72.0, \"waist_max\": 76.0, \"hip_min\": 80.0, \"hip_max\": 84.0}, {\"name\": \"XL\", \"bust_min\": 76.0, \"bust_max\": 80.0, \"waist_min\": 76.0, \"waist_max\": 80.0, \"hip_min\": 84.0, \"hip_max\": 88.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✔ Pattern: Leopard print with black accents and stripes\u003c\/li\u003e\n\n\u003cli\u003e✔ Type: One-piece \/ Women's swimsuit\u003c\/li\u003e\n\n\u003cli\u003e✔ Care instructions: Rinse briefly with clear water after wearing, delicate wash 30 °C, do not tumble dry\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, the Leopard Print Women's Swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a Swimsuit Fits Restlessly While Swimming\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eHow cut and fit can make all the difference – without you even noticing.\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\u003eThe swimsuit slips when swimming or standing up\u003c\/li\u003e\n\n\u003cli\u003eThe wet feeling after swimming remains unpleasantly long\u003c\/li\u003e\n\n\u003cli\u003eEstimating size online is difficult for swimwear\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eSome swimsuits fit well when you first put them on – and only start to shift in the water. You go for a swim, get out, and notice you have to readjust. This isn't a dramatic problem, but it costs attention you'd rather not spend.\u003c\/p\u003e\n\n\u003cp\u003eThis is often due to the cut: If the one-piece isn't designed for movement in the water, shoulder straps, back panel, or the lower cut edge can start to wander. The leopard print model is designed for a stable fit during movement – whether swimming itself or getting from the water to the lounge chair.\u003c\/p\u003e\n\n\u003cp\u003eIf you prefer quiet days by the water – lounging, short swims, beach walks – this one-piece might be a good fit. It's less suited for very intensive swimming sessions or daily performance swimming; a sportier competition one-piece would be a more appropriate choice. And if patterns are generally too much for you and you prefer solid colors, that's also a perfectly valid decision.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eAre you wondering if the cut suits you – in terms of fit, not just the pattern?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e30-day return, if the fit isn't right in everyday use.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Sits securely when swimming and walking on the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Leopard print with black accents looks suitable for everyday wear, not exaggerated\u003c\/li\u003e\n\n\u003cli\u003e→ Combines with neutral beach accessories without extra planning\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 helps you make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Subtle leopard print with black accents – interesting up close, calm from a distance\u003c\/li\u003e\n\n\u003cli\u003e✅ Designed for a stable fit during everyday movements in the water\u003c\/li\u003e\n\n\u003cli\u003e✅ Can be combined with black or neutral beach accessories without extra effort\u003c\/li\u003e\n\n\u003cli\u003e✅ 30-day return if fit or size isn't right\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for daily intensive swimming sessions or competitive sports\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who generally avoid patterns will find a more suitable choice in solid-colored models\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Leopard Print Women's Swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eCut slips when swimming or getting out of the water\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for a stable fit during everyday movements in the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks too loud or flashy on the beach\u003c\/td\u003e\n\n\u003ctd\u003eBlack accents keep the leopard print subdued – discreet from a distance, textured up close\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline sizing for swimwear is difficult to estimate\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator + 30-day return for a risk-free decision\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 considered precisely such situations with the Leopard Print Women's Swimsuit – so you have to make fewer adjustments while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the Leopard Print Women's Swimsuit feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you notice: 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. Chlorine and salt don't affect the material.\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: Polyester\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \n  \n\u003cdiv class=\"bn-target\"\u003e\n\n  \u003ch3\u003eCould be a good fit if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eswimsuit\u003c\/strong\u003e that fits securely while swimming\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003esimple cuts\u003c\/strong\u003e without unnecessary details\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort\u003c\/strong\u003e – in and out of the water\u003c\/li\u003e\n\n\u003cli\u003e→ You want to \u003cstrong\u003eavoid bad purchases\u003c\/strong\u003e with clear size information\u003c\/li\u003e\n\n\u003cli\u003e→ You buy \u003cstrong\u003econsciously\u003c\/strong\u003e instead of on speculation\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\u003eFeatures:\u003c\/strong\u003e Opaque, quick-drying\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eArea of application:\u003c\/strong\u003e Swimming, beach, pool - rinsing after bathing recommended\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 the Leopard Print Women's Swimsuit\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does the Leopard Print Women's Swimsuit fit during 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 one-piece is designed for a stable fit during everyday movements in the water – while swimming and getting out of the water. It is less designed for very intensive swimming sessions or daily performance sports.\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 find the right size for the figure-shaping women's swimsuit?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSwimwear sizing varies depending on the cut. Our size calculator helps you estimate the right size based on your height and weight. If unsure between two sizes, the larger option is recommended for more freedom of movement. 30-day return if the fit isn't right.\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 the Leopard Print One-Piece Swimsuit less suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThose who do very intensive swimming sessions daily or are looking for a competition one-piece would be better served with a sportier model. Those who generally avoid patterns and prefer solid colors will find solid-colored alternatives in our range.\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 care for the leopard print swimsuit after swimming?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eIt's best to rinse it briefly with clear, cool water and then wash it on a delicate cycle at 30 °C. Do not tumble dry – lay flat or hang dry in the shade to maintain its 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\"\u003eDoes the leopard print also appear calm next to other beach colors?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe black accents and stripes keep the pattern understated. The swimsuit can be easily combined with black or neutral beach accessories without the pattern looking cluttered.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-mit-bauchweg-effekt-im-sale\"\u003eSwimsuits with Tummy Control Effect on Sale\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-die-den-bauch-kaschieren\"\u003eSwimsuits that Conceal the Tummy\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eWomen's Swimsuit\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=\"Leopard print close-up: structured texture with black lines and accents\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Stepping out of the water at Lake Constance – one-piece stays put, no readjustment\" 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 to order – this reduces overproduction and stock, 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 checked according to 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 scenarios above, the Leopard Print Women's Swimsuit could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eLeopard Print Women's Swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-original\"\u003e€44.95\u003c\/span\u003e \u003cspan class=\"bn-cta-sale\"\u003e€29.94\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 Leopard Print Women's Swimsuit 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: 2026-05-17\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\": \"Leopardenmuster Badeanzug Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/IMG-20240610-WA0002.png?v=1753463098\", \"category\": \"badeanzug\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"29.94\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"jaguar \/ S","offer_id":44343896113420,"sku":"Jaguar\/S","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"jaguar \/ M","offer_id":44343896178956,"sku":"Jaguar\/M","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"jaguar \/ L","offer_id":44343895851276,"sku":"Jaguar\/L","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"jaguar \/ XL","offer_id":44344782225676,"sku":"Jaguar\/XL","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"jaguar \/ XXL","offer_id":44344782258444,"sku":"Jaguar\/XXL","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"jaguar \/ XXXL","offer_id":44355079766284,"sku":"Jaguar\/XXXL","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"Snow white \/ S","offer_id":44343895687436,"sku":"Schneeweiß\/S","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ M","offer_id":44343895720204,"sku":"Schneeweiß\/M","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ L","offer_id":44343895752972,"sku":"Schneeweiß\/L","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ XL","offer_id":44344782094604,"sku":"Schneeweiß\/XL","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ XXL","offer_id":44344782127372,"sku":"Schneeweiß\/XXL","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"Snow white \/ XXXL","offer_id":44355079700748,"sku":"Schneeweiß\/XXXL","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"Blue \/ S","offer_id":44343896146188,"sku":"Ozeanblau\/S","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ M","offer_id":44343895818508,"sku":"Ozeanblau\/M","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ L","offer_id":44343895884044,"sku":"Ozeanblau\/L","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ XL","offer_id":44344782160140,"sku":"Ozeanblau\/XL","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"Blue \/ XXL","offer_id":44344782192908,"sku":"Ozeanblau\/XXL","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"Blue \/ XXXL","offer_id":44355079733516,"sku":"Ozeanblau\/XXXL","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"zebra \/ S","offer_id":44343895916812,"sku":"Zebra\/S","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"zebra \/ M","offer_id":44343895982348,"sku":"Zebra\/M","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"zebra \/ L","offer_id":44343896047884,"sku":"Zebra\/L","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"zebra \/ XL","offer_id":44344782323980,"sku":"Zebra\/XL","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"zebra \/ XXL","offer_id":44344782356748,"sku":"Zebra\/XXL","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"zebra \/ XXXL","offer_id":44355079799052,"sku":"Zebra\/XXXL","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"Cherry red \/ S","offer_id":44343896080652,"sku":"Kirschrot\/S","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ M","offer_id":44343895949580,"sku":"Kirschrot\/M","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ L","offer_id":44343896015116,"sku":"Kirschrot\/L","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ XL","offer_id":44344782389516,"sku":"Kirschrot\/XL","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"Cherry red \/ XXL","offer_id":44344782422284,"sku":"Kirschrot\/XXL","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"Cherry red \/ XXXL","offer_id":44355079831820,"sku":"Kirschrot\/XXXL","price":29.94,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/IMG-20240610-WA0002.png?v=1753463098"},{"product_id":"bikini-damen-mit-set","title":"yellow bikini tropical print","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that fits just as well by the lake as it does after the first dip in the water?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that calm feeling when a bikini just *stays* – no pulling, no adjusting.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd often, you don't notice the difference immediately, but at some point during the day – when you're no longer even thinking about it.\u003c\/p\u003e\n\n  \u003ch2\u003eYellow Women's Bikini with Tropical Pattern – for Beach, Lake, and Vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nA two-piece set with a tropical floral and pineapple pattern on warm yellow – designed for movement in the water and quiet hours on the shore, made from 78% polyamide and 22% elastane.\u003c\/p\u003e\n\n\u003cp\u003eThe pattern evokes something many know from vacation: that lightness when color and motif match the mood without saying too much. Blossoms and pineapple details on yellow – it looks just as harmonious on the shores of Lake Constance as it does by the sea, because it doesn't try to be louder than its surroundings. The tropical print remains understated due to its calm coloring.\u003c\/p\u003e\n\n\u003cp\u003eYou put it on in the morning, go to the water, and the pattern silently does its job: it's noticeable without being attention-grabbing. Lying on the jetty, with the light dancing on the water, the yellow appears warm and vibrant. When you stand up and go into the water, the tropical motif blends with summer without trying to force a statement. For some, this is just the right balance.\u003c\/p\u003e\n\n\u003cp\u003eAs a gift, this bikini is suitable for anyone who loves vacation joy without being intrusive – the tropical print communicates lightness without needing any explanation. Can be combined with a simple white beach towel or light shorts that pick up the yellow.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• You put it on and the first thought is: Fits.\u003cbr\u003e• The pattern feels harmonious, not intrusive – by the water as much as on the way there.\u003cbr\u003e• After swimming, it still fits the same as before – no constant readjusting needed.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eSelect your size below – S to XXL available.\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\": \"S\", \"bust_min\": 86.0, \"bust_max\": 91.0, \"waist_min\": 66.0, \"waist_max\": 71.0, \"hip_min\": 88.0, \"hip_max\": 93.0}, {\"name\": \"M\", \"bust_min\": 91.0, \"bust_max\": 96.0, \"waist_min\": 71.0, \"waist_max\": 76.0, \"hip_min\": 93.0, \"hip_max\": 98.0}, {\"name\": \"L\", \"bust_min\": 96.0, \"bust_max\": 101.0, \"waist_min\": 76.0, \"waist_max\": 81.0, \"hip_min\": 98.0, \"hip_max\": 103.0}, {\"name\": \"XL\", \"bust_min\": 101.0, \"bust_max\": 106.0, \"waist_min\": 81.0, \"waist_max\": 86.0, \"hip_min\": 103.0, \"hip_max\": 108.0}, {\"name\": \"XXL\", \"bust_min\": 106.0, \"bust_max\": 111.0, \"waist_min\": 86.0, \"waist_max\": 91.0, \"hip_min\": 111.0, \"hip_max\": 116.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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Two-piece bikini set, tropical floral and pineapple pattern on yellow\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\u003c\/div\u003e\n\n\n  \u003cp class=\"bn-mini-cta\"\u003eWhen the cut and size fit you, a yellow bikini with a tropical pattern can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini set lasts all day without you having to think about it\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit that shows itself in everyday life – not just when trying it on.\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\u003eThe top fits well at first, but will it hold up while swimming?\u003c\/li\u003e\n\n\u003cli\u003eSynthetic fabrics sometimes feel too stiff or too smooth\u003c\/li\u003e\n\n\u003cli\u003eBikinis stretched out or faded after just a few washes\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany know this: you put on a bikini, go into the water, come out – and start adjusting the top or waistband. Not because something broke, but because the fabric didn't have enough leeway to adapt to movement. By the lake, getting up from a deckchair, sitting down on a jetty – such moments show whether a bikini truly \"thinks along.\"\u003c\/p\u003e\n\n\u003cp\u003eThe reason often lies in the material: fabrics without sufficient elastane content don't follow movement, but resist it. The blend of 78% polyamide and 22% elastane is therefore common in swimwear – polyamide gives the fabric stability and shape retention under normal stress, elastane ensures that the bikini stretches and recovers. This is not a promise, but an indication of why this material mix has proven successful for many wearers.\u003c\/p\u003e\n\n\u003cp\u003eThis yellow bikini with a tropical pattern is designed for situations where swimwear simply needs to work: at the lake, at the pool, on vacation. The elastane content can help the top and bottom sit securely even when moving – this is not an absolute promise, but the choice of material supports it. If you prefer fabrics with a very natural feel or cotton-based textiles, a polyamide set may not be your first choice – that's an honest assessment.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes this fit how you wear swimwear – lots of movement in the water or rather quiet hours on the shore?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eAvailable sizes: S, M, L, XL, XXL – select your size above.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Wears the same by the lake as it does on the beach or by the pool\u003c\/li\u003e\n\n\u003cli\u003e→ Tropical pattern that suits summer without being intrusive\u003c\/li\u003e\n\n\u003cli\u003e→ Two-piece set that can be combined with simple beach looks\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 helps you decide\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Material mix of polyamide and elastane – designed for movement in water under normal stress\u003c\/li\u003e\n\n\u003cli\u003e✅ Tropical floral and pineapple pattern on yellow – subtle and combinable\u003c\/li\u003e\n\n\u003cli\u003e✅ Clear care instructions: Delicate wash 30 °C, no tumble dryer\u003c\/li\u003e\n\n\u003cli\u003e✅ Available as a complete two-piece set, sizes S to XXL\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ For wearers who prefer very natural or cotton-based fabrics, this set may not be the first choice\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those expecting maximum support like sports bra constructions will not find it in this bikini\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Detailed information on waistband shape or top cut is currently unavailable\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\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Yellow tropical pattern bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips during movement or in water\u003c\/td\u003e\n\n\u003ctd\u003e22% elastane content can help the top sit more securely during normal movement\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBikinis lose their shape after a few washes\u003c\/td\u003e\n\n\u003ctd\u003ePolyamide-elastane blend is designed for shape retention under normal stress – observe care instructions\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eCare instructions unclear or contradictory\u003c\/td\u003e\n\n\u003ctd\u003eDelicate wash 30 °C, do not tumble dry – clearly and understandably stated\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTropical patterns often appear overloaded or touristy\u003c\/td\u003e\n\n\u003ctd\u003eSubtle floral and pineapple pattern on warm yellow – does not appear overloaded due to calm coloring\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\"\u003eThese are exactly the situations we've considered with the yellow tropical pattern 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 the yellow tropical pattern 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 – observe 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 fit well if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eyellow tropical pattern bikini\u003c\/strong\u003e with a fit that can suit you\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003ecalm, simple designs\u003c\/strong\u003e without being intrusive\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort in everyday life\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 the yellow tropical pattern bikini\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eIs the yellow tropical pattern bikini available as a complete women's set?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, this yellow tropical pattern bikini is available as a two-piece women's set – top and bottom in the same design. Available sizes: S, M, L, XL, and XXL.\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 find the right size for this bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator gives you an initial guide based on height and weight. If you're unsure between two sizes, it might be advisable to choose the larger option – especially if you prefer more room in the top.\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 care for this bikini properly?\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 at 30 °C on a delicate cycle. Do not tumble dry – air dry flat. This protects the elastane and can help the fabric retain its shape longer under normal stress.\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\"\u003eWhat situations is this tropical bikini designed for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThis bikini is designed for the beach, lake, and pool – meaning for days with movement in the water and quiet hours in the sun. The polyamide-elastane fabric is common for swimwear and designed for water contact and movement.\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\"\u003eDoes polyamide-elastane feel comfortable in the water?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003ePolyamide-elastane blends are widely used in swimwear because the fabric stretches well and usually conforms quickly to the body. The skin feel is smooth and light – those who prefer very natural or cotton-like fabrics should consider this when making their decision.\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 waistband fit with movement – for example, when swimming or sitting down?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe 22% elastane content is designed so that the material stretches with movement. Whether and how well the waistband fits your body shape also depends on the chosen size – the size calculator can help as a guide.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/die-perfekte-bademode-finden\"\u003eFinding the perfect swimwear\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-fur-damen-finden-sie-den-perfekten-badeanzug-fur-den-sommer-2024\"\u003eWomen's Swimsuits: Find the perfect swimsuit for Summer 2024\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/bikini-damen\/wie-man-den-perfekten-bikini-fur-seine-korperform-findet\"\u003eHow to find the perfect bikini for your body shape\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=\"Gelber Bikini mit tropischem Blumen- und Ananasprint im Sonnenlicht auf einem Holzsteg\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Trägerin steht am Wasser, Muster im Kontrast zum ruhigen Blau des Sees\" 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 to order – this reduces overproduction and excess stock, 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 scenarios above, the yellow tropical pattern bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eyellow tropical pattern bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€29.97\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 yellow tropical pattern 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: 2026-05-20\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\": \"gelber Bikini tropisches Muster\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/S64cec08ef35e43ceb848bea303746da6Q.jpg?v=1753462373\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"29.97\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Pink \/ S","offer_id":44457297510668,"sku":"14:173#Pink;5:100014064","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ M","offer_id":44457297969420,"sku":"14:173#Pink;5:361386","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ L","offer_id":44457298428172,"sku":"14:173#Pink;5:361385","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ XL","offer_id":44457298886924,"sku":"14:173#Pink;5:100014065","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Dark purple \/ S","offer_id":44457297576204,"sku":"14:175#Dark purple;5:100014064","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Dark purple \/ M","offer_id":44457298034956,"sku":"14:175#Dark purple;5:361386","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Dark purple \/ L","offer_id":44457298493708,"sku":"14:175#Dark purple;5:361385","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Dark purple \/ XL","offer_id":44457298952460,"sku":"14:175#Dark purple;5:100014065","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Lake blue \/ S","offer_id":44457297608972,"sku":"14:350852#Lake blue;5:100014064","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Lake blue \/ M","offer_id":44457298067724,"sku":"14:350852#Lake blue;5:361386","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Lake blue \/ L","offer_id":44457298526476,"sku":"14:350852#Lake blue;5:361385","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Lake blue \/ XL","offer_id":44457298985228,"sku":"14:350852#Lake blue;5:100014065","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Wine \/ S","offer_id":44457297674508,"sku":"14:366#Wine;5:100014064","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Wine \/ M","offer_id":44457298133260,"sku":"14:366#Wine;5:361386","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Wine \/ L","offer_id":44457298592012,"sku":"14:366#Wine;5:361385","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Wine \/ XL","offer_id":44457299050764,"sku":"14:366#Wine;5:100014065","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Purple \/ S","offer_id":44457297740044,"sku":"14:100018786#Purple;5:100014064","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Purple \/ M","offer_id":44457298198796,"sku":"14:100018786#Purple;5:361386","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Purple \/ L","offer_id":44457298657548,"sku":"14:100018786#Purple;5:361385","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Purple \/ XL","offer_id":44457299116300,"sku":"14:100018786#Purple;5:100014065","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Bright yellow \/ S","offer_id":44457297805580,"sku":"14:200004890#Bright yellow;5:100014064","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Bright yellow \/ M","offer_id":44457298264332,"sku":"14:200004890#Bright yellow;5:361386","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Bright yellow \/ L","offer_id":44457298723084,"sku":"14:200004890#Bright yellow;5:361385","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Bright yellow \/ XL","offer_id":44457299181836,"sku":"14:200004890#Bright yellow;5:100014065","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Red \/ S","offer_id":44457297871116,"sku":"14:200006159#Red;5:100014064","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Red \/ M","offer_id":44457298329868,"sku":"14:200006159#Red;5:361386","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Red \/ L","offer_id":44457298788620,"sku":"14:200006159#Red;5:361385","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Red \/ XL","offer_id":44457299247372,"sku":"14:200006159#Red;5:100014065","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Blacklbue \/ S","offer_id":44460903203084,"sku":"SetBlackblueS","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Blacklbue \/ M","offer_id":44460903235852,"sku":"SetBlackblueM","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Blacklbue \/ L","offer_id":44460903268620,"sku":"SetBlackblueL","price":29.97,"currency_code":"EUR","in_stock":true},{"title":"Blacklbue \/ XL","offer_id":44460903301388,"sku":"SetBlackblueXL","price":29.97,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/S64cec08ef35e43ceb848bea303746da6Q.jpg?v=1753462373"},{"product_id":"bikini-damen-mit-hohen-huftband","title":"Tropical Leaf Print Bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini stay put at the lake – and still do so after a whole day?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that feeling when a bikini just fits – and you forget about it all day long.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eMany don't notice the difference when they first put it on, but sometime in the afternoon, when everything still sits exactly as it did in the morning.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's High-Waist Bikini with Tropical Leaf Pattern – for Lake, Beach, and Holiday\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nHigh-waist for a comfortable fit during movement – tropical leaf and palm leaf pattern in green and pink, fabric made of 78% polyamide and 22% elastane with a light stretch feel.\u003c\/p\u003e\n\n\u003cp\u003eThe motif features large leaves and palm fronds in muted green and delicate pink – imagery reminiscent of a peaceful summer day, without being loud. If you're lying in the sun on the shores of Lake Constance and gazing at the water, you'll find the same quiet mood in this pattern: present, but not intrusive. The design is intended not to compete with the surroundings, but to become a part of them.\u003c\/p\u003e\n\n\u003cp\u003eThe combination of green and pink hues looks equally calm on light and dark skin tones. The pattern is generously placed – no small-scale repetitions, but a flowing overall picture. If you're looking for a simple bikini with a leaf pattern that goes with a white linen shirt for the walk to the bar, you'll find an option here that can do both: function by the water and accompany the transition to evening. In terms of color, it can be combined with off-white, beige, or khaki-colored cover-ups.\u003c\/p\u003e\n\n\u003cp\u003eIn the morning, when the water is still smooth and you glide into it from the jetty – the pattern remains in view, without being distracting. At lunch on the terrace, a towel casually draped over your shoulders: the bikini looks dressed, not just functional. And in the evening, when the light gets warmer and you're sitting on a beach towel, the green and pink create a calm overall picture that matches the mood.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern doesn't feel like a costume – it stays in the background, but makes the surroundings appear more prominent.\u003cbr\u003e• The view of the water, the green of the leaves – both complement each other without looking planned.\u003cbr\u003e• If you like a bikini that will fit for a few summers without going out of style, this design could be a good match.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you are unsure about the size: Our size calculator helps you to estimate the top and bottom size correctly.\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\": []}];\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✔ Material: 78% polyamide, 22% elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: high-waist, 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, the Tropical Leaf Pattern Bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini fits differently in the water than expected\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA few considerations before you decide.\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 slips after the first swim\u003c\/li\u003e\n\n\u003cli\u003eWaistband digs in or sags – both are uncomfortable\u003c\/li\u003e\n\n\u003cli\u003eOnline bikini sizes are often hard to estimate\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou go into the water, turn around once, and already you're adjusting – the top, the waistband, somewhere. This is not an uncommon experience. Many bikinis are cut to look good when standing, but remain less stable when moving in the water. The waistband, in particular, can shift if the cut is not adapted to the body.\u003c\/p\u003e\n\n\u003cp\u003eOne reason for this is often the fit of the waistband itself: A low-cut waistband has little contact surface and can slip more easily with movement. A higher-cut waistband distributes the tension more evenly – this can help it stay put during swimming, sitting down, or standing up. Whether this is perceived as such with this bikini also depends on the individual body shape and the chosen size.\u003c\/p\u003e\n\n\u003cp\u003eThis high-waist bikini is designed for a comfortable fit during everyday movements by the water – swimming, walking, sitting on a towel. It is less designed for intense water sports or competitive swimming; those looking for maximum support in these activities would be better served with swimwear from the sports sector. If, however, you are looking for a bikini for relaxed days at the lake, pool, or beach, this cut could suit you well.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes a high waist suit your body shape – or do you prefer lower-cut styles?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTop and bottom are selectable separately, allowing you to choose both parts independently in the correct size.\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→ Stays put during swimming and getting up\u003c\/li\u003e\n\n\u003cli\u003e→ Pattern remains clear and colorfast after delicate wash – observe care instructions\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ High-waist – designed for stable fit during movement by the water\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be selected separately for individual size combination\u003c\/li\u003e\n\n\u003cli\u003e✅ Calm tropical pattern in green and pink – timelessly combinable\u003c\/li\u003e\n\n\u003cli\u003e✅ Stretch material made of 78% polyamide, 22% elastane – conforms to movement\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intensive water sports or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer low-rise bikini cuts will be less familiar with this high waist\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No information on chlorine or saltwater resistance – observe care instructions\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 for similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Tropical Leaf Pattern 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 movement in water – with appropriate size\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eWaistband digs in or sags after the first day\u003c\/td\u003e\n\n\u003ctd\u003eHigh waistband with elastane content for even fit under normal strain\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline bikini sizes hard to estimate\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom selectable separately, size calculator available as a guide\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\"\u003eExactly these situations were considered for the Tropical Leaf Pattern 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 the Tropical Leaf Pattern Bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you notice: 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\u003eAt 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 – observe 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\u003eCould fit well if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eTropical Leaf Pattern 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 the Tropical Leaf Pattern Bikini\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 high-waist women's bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSince the top and bottom can be chosen separately, you can select both parts independently in your respective size. Our size calculator helps you estimate based on height and weight. If unsure between two sizes, it is generally recommended to choose the larger option – especially for the high-waist bottom.\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 during 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 higher-cut waistband is designed to have more contact surface than low-rise models. This can help it stay in place during swimming, standing up, or sitting down. A consistently good fit also depends on the chosen size – the size calculator provides a good reference point here.\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 a bikini with a tropical leaf pattern?\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 at 30 °C on a delicate cycle. Do not tumble dry – this protects the material and the colors of the pattern. Drying flat is generally gentler than hanging.\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\"\u003eIs this high-waist bikini with a tropical print suitable for water sports?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bikini is designed for relaxed days by the water – swimming, sitting, moving on the beach or by the lake. It is less designed for intensive water sports or competitive swimming. Those who need maximum support for these activities will find more suitable options in the sports swimwear section.\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\"\u003eDoes the leaf pattern fade after multiple wears?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe material made of 78% polyamide and 22% elastane is designed for the demands of bathing. To preserve the colors for as long as possible, it is recommended to rinse the bikini with clear water after each wear and wash it at 30 °C on a gentle cycle. Direct detergent stains on the fabric should be avoided.\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\"\u003eWhat can a simple bikini with a tropical design be combined with?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe muted green and pink of the pattern can be well combined with off-white, beige, or khaki-colored cover-ups, linen shirts, or beach bags. The calm print does not look overdressed either by the water or during the transition to the evening.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-related-articles\"\u003e\n\n  \u003ch3\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Large-scale leaf and palm leaf pattern in green and pink – calm, not overpowering\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"High-waist that accentuates the waist without constricting\" 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 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 find yourself in the scenarios above, the Tropical Leaf Pattern Bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eTropical Leaf Pattern Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€34.90\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        In the end, it's not about the garment itself, but about the moments you experience in it. \n        We hope that the Tropical Leaf Pattern 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\": \"Tropisches Blättermuster Bikini\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/H80d9e8f5d6ab487aa881080fa8ff8d02i.jpg?v=1753462020\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"34.90\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"TZ18042B6 \/ S","offer_id":44457299312908,"sku":"14:771#TZ18042B6;5:100014064","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042B6 \/ M","offer_id":44457299804428,"sku":"14:771#TZ18042B6;5:361386","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042B6 \/ L","offer_id":44457300295948,"sku":"14:771#TZ18042B6;5:361385","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042B6 \/ XL","offer_id":44457300787468,"sku":"14:771#TZ18042B6;5:100014065","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042B6 \/ 2XL","offer_id":44466080678156,"sku":"TZ18042B6 \/ 2XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042B6 \/ 3XL","offer_id":44466080710924,"sku":"TZ18042B6 \/ 3XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042B6 \/ 4XL","offer_id":44466080743692,"sku":"TZ18042B6 \/ 4XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042B6 \/ 5XL","offer_id":44466080776460,"sku":"TZ18042B6 \/ 5XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042B6 \/ 6XL","offer_id":44466080809228,"sku":"TZ18042B6 \/ 6XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042DP \/ S","offer_id":44457299411212,"sku":"14:365458#TZ18042DP;5:100014064","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042DP \/ M","offer_id":44457299902732,"sku":"14:365458#TZ18042DP;5:361386","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042DP \/ L","offer_id":44457300394252,"sku":"14:365458#TZ18042DP;5:361385","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042DP \/ XL","offer_id":44457300885772,"sku":"14:365458#TZ18042DP;5:100014065","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042DP \/ 2XL","offer_id":44466080841996,"sku":"TZ18042DP \/ 2XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042DP \/ 3XL","offer_id":44466080874764,"sku":"TZ18042DP \/ 3XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042DP \/ 4XL","offer_id":44466080907532,"sku":"TZ18042DP \/ 4XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042DP \/ 5XL","offer_id":44466080940300,"sku":"TZ18042DP \/ 5XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042DP \/ 6XL","offer_id":44466080973068,"sku":"TZ18042DP \/ 6XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042D2 \/ S","offer_id":44457299640588,"sku":"14:1052#TZ18042D2;5:100014064","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042D2 \/ M","offer_id":44457300132108,"sku":"14:1052#TZ18042D2;5:361386","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042D2 \/ L","offer_id":44457300623628,"sku":"14:1052#TZ18042D2;5:361385","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042D2 \/ XL","offer_id":44457301115148,"sku":"14:1052#TZ18042D2;5:100014065","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042D2 \/ 2XL","offer_id":44466081005836,"sku":"TZ18042D2 \/ 2XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042D2 \/ 3XL","offer_id":44466081038604,"sku":"TZ18042D2 \/ 3XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042D2 \/ 4XL","offer_id":44466081071372,"sku":"TZ18042D2 \/ 4XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042D2 \/ 5XL","offer_id":44466081104140,"sku":"TZ18042D2 \/ 5XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042D2 \/ 6XL","offer_id":44466081136908,"sku":"TZ18042D2 \/ 6XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042G1 \/ S","offer_id":44457299673356,"sku":"14:496#TZ18042G1;5:100014064","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042G1 \/ M","offer_id":44457300164876,"sku":"14:496#TZ18042G1;5:361386","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042G1 \/ L","offer_id":44457300656396,"sku":"14:496#TZ18042G1;5:361385","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042G1 \/ XL","offer_id":44457301147916,"sku":"14:496#TZ18042G1;5:100014065","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042G1 \/ 2XL","offer_id":44466081169676,"sku":"TZ18042G1 \/ 2XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042G1 \/ 3XL","offer_id":44466081202444,"sku":"TZ18042G1 \/ 3XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042G1 \/ 4XL","offer_id":44466081235212,"sku":"TZ18042G1 \/ 4XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042G1 \/ 5XL","offer_id":44466081267980,"sku":"TZ18042G1 \/ 5XL","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"TZ18042G1 \/ 6XL","offer_id":44466081300748,"sku":"TZ18042G1 \/ 6XL","price":34.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/H80d9e8f5d6ab487aa881080fa8ff8d02i.jpg?v=1753462020"},{"product_id":"bikini-damen-als-frucht","title":"yellow patterned bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a patterned women's bikini stay in place even after a long day at the beach?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a bikini just stays put – without you having to adjust it in between.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eMany don't notice the difference when they first put it on, but rather when they go into the water, come out, and simply carry on.\u003c\/p\u003e\n\n  \u003ch2\u003ePatterned women's bikini – yellow top with tropical leaf pattern for beach and pool\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nTwo-piece bikini with a yellow top and patterned bottom – a clear splash of color that gets a calm vibrancy from the tropical leaf pattern on the bottom. Fabric made from 78% polyamide and 22% elastane, comfortably snug without constricting.\u003c\/p\u003e\n\n\u003cp\u003eThe yellow of the top looks vibrant in the sunlight without appearing artificial – on the shores of Lake Constance or a stretch of beach where the light falls flat on the water, it sets a clear tone. The tropical leaf pattern of the bottom stays close to the top in its color scheme, creating a set that belongs together without being identical. This combination of plain top and patterned bottom has a lightness to it – it stands out without dominating.\u003c\/p\u003e\n\n\u003cp\u003eFor those who like a summery look that isn't completely plain but also doesn't seem overloaded, this combination works well. The pattern is large enough to show, and subtle enough not to compete. By the pool, on a terrace with a lake view, or strolling along the lakeside promenade – the yellow top with the patterned bottom fits these moods without commenting on them.\u003c\/p\u003e\n\n\u003cp\u003eThis bikini set makes a great gift if you want to give someone something that evokes summer and lightness – without imposing a specific style. A yellow bikini with a tropical pattern says: I was thinking of you, with a smile.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll know\u003c\/h3\u003e\n\n\u003cp\u003e• You put on the top, and the yellow looks clearer and fresher in the mirror than expected – not gaudy, more sunny.\u003cbr\u003e• You look at the bottom and notice that the leaf pattern and the yellow support each other – a combination choice that explains itself.\u003cbr\u003e• You pack the bikini for your next vacation and are happy because you know it goes with more than one look.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, select your size below – the size calculator will help you.\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 (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\", \"hip_min\": 73.0, \"hip_max\": 79.0, \"bust_min\": 76.0, \"bust_max\": 79.0}, {\"name\": \"S\", \"hip_min\": 78.0, \"hip_max\": 84.0, \"bust_min\": 81.0, \"bust_max\": 84.0}, {\"name\": \"M\", \"hip_min\": 83.0, \"hip_max\": 89.0, \"bust_min\": 86.0, \"bust_max\": 89.0}, {\"name\": \"L\", \"hip_min\": 88.0, \"hip_max\": 94.0, \"bust_min\": 91.0, \"bust_max\": 94.0}, {\"name\": \"XL\", \"hip_min\": 94.0, \"hip_max\": 100.0, \"bust_min\": 97.0, \"bust_max\": 99.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✔ Material: 78% Polyamide (fiber), 22% Elastane (fiber)\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry – rinse briefly with clear water after wearing\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: yellow top, bottom with tropical leaf pattern\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 fit you, a yellow bikini with a pattern can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen your bikini doesn't stay where it belongs in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit, fabric, and pattern – what really matters in a patterned bikini.\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\u003eThe top shifts when swimming\u003c\/li\u003e\n\n\u003cli\u003eThe waistband becomes uncomfortably tight after a while\u003c\/li\u003e\n\n\u003cli\u003eThe pattern looks different in person than in the picture\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou go into the water, dive briefly, and when you resurface, you notice the top has shifted – you pull it back, adjust it, and the issue is resolved for the moment. But after the third time, it's no longer just an issue, it's a distraction. A bikini that sits calmly during movement simply isn't noticed in these moments – that's its advantage.\u003c\/p\u003e\n\n\u003cp\u003eThe fabric of this bikini consists of 78% polyamide and 22% elastane – a combination designed for stretch and shape retention. The material adapts to movements and generally returns to its shape. Whether this is noticeable in everyday life depends on the cut, size choice, and stress – not a promise, but a guideline.\u003c\/p\u003e\n\n\u003cp\u003eIf you are looking for a bikini made for relaxed days at the lake, pool, or on vacation, with a clear, colorful design, this two-piece might be suitable. If you prefer a very simple, solid-colored set or need maximum coverage and athletic function, this model with its patterned bottom and vibrant yellow might not be your style.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes the interplay of the yellow top and tropical pattern match what you envision for your next summer days?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator will help you assess the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eCheck the available sizes and choose the one that matches your measurements.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Stays in place quietly after a long day of swimming\u003c\/li\u003e\n\n\u003cli\u003e→ Top remains in position when entering the water\u003c\/li\u003e\n\n\u003cli\u003e→ Yellow color looks clear and fresh in sunlight\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✅ Yellow top with tropical patterned bottom – a coordinated set\u003c\/li\u003e\n\n\u003cli\u003e✅ Fabric made of 78% polyamide, 22% elastane – designed for stretch and shape retention\u003c\/li\u003e\n\n\u003cli\u003e✅ Suitable for beach, pool, and vacation under normal use\u003c\/li\u003e\n\n\u003cli\u003e✅ Delicate wash 30 °C – easy care for everyday use\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for a very plain, solid-colored design preference\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not designed for intensive water sports or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not opaque or athletically reinforced cut – no promise of maximum coverage\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✅ Yellow bikini with pattern\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips when swimming and diving\u003c\/td\u003e\n\n\u003ctd\u003eElastane content in the fabric is designed for movement adaptation and shape retention under normal use\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern and color often don't truly match in bikini sets\u003c\/td\u003e\n\n\u003ctd\u003eYellow top and leaf-patterned bottom are color-coordinated and designed as a set\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSize of bikinis is hard to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator available with height and weight as decision aid\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eWaistband presses uncomfortably after prolonged wear\u003c\/td\u003e\n\n\u003ctd\u003eStretchable polyamide-elastane fabric adapts – fit largely depends on size selection\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 with the yellow patterned bikini – so you'll have to adjust less while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the yellow patterned bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eConcrete moments where 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 when moving.\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, 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\u003eMight be a good fit if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You're looking for a \u003cstrong\u003eyellow patterned bikini\u003c\/strong\u003e with a fit that can suit 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 the Yellow Patterned Bikini\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 the yellow bikini with a patterned bottom?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eUse the size calculator with your height and weight as a first guide. Since bikini tops and bottoms can fit differently, it's worth choosing a size up if you're unsure – especially if you prefer a comfortable, not too tight fit.\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 waistband of the patterned bikini bottom fit when moving?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe polyamide and elastane material is designed for stretch and generally returns to its shape under normal use. However, a comfortable fit also depends on the chosen size – so we recommend carefully comparing the size chart.\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 a polyamide and elastane bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, then wash at 30 °C on a delicate cycle. Do not tumble dry – this can affect the elasticity of the fabric. Laying flat to dry is gentler for the shape.\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\"\u003eIs this bikini suitable for active water sports?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThis bikini is designed for relaxed days at the beach, lake, or pool. It is less suitable for intensive water sports or competitive swimming – for those, there are models with specially reinforced support and an athletic cut.\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\"\u003eDoes the yellow top match the patterned bottom in color?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bottom features a tropical leaf pattern that is color-coordinated with the yellow of the top. The combination is intended as a set – top and bottom have been coordinated, but can also be combined individually depending on personal style.\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 this bikini rather not suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThose looking for a purely solid-colored, very simple design might be less happy with the patterned bottom. Also, for buyers who need maximum coverage or a particularly athletic cut, this model is not the first choice.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Yellow top in the sunlight by the water – vibrant, not gaudy\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Tropical leaf pattern on the bottom – large enough to show, subtle enough to combine\" 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 receipt\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 checked according to 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 scenarios above, the yellow patterned 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\"\u003eYellow Patterned Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€27.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 yellow patterned 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\": \"gelber Bikini mit Muster\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/IMG-20240610-WA0022.png?v=1753461194\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"27.99\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"1 Style \/ XS","offer_id":44457301311756,"sku":"CJYJ142257902BY","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"1 Style \/ S","offer_id":44457301901580,"sku":"CJYJ142257903CX","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"1 Style \/ M","offer_id":44457302491404,"sku":"CJYJ142257904DW","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"1 Style \/ L","offer_id":44457303081228,"sku":"CJYJ142257905EV","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"1 Style \/ XL","offer_id":44457303671052,"sku":"CJYJ142257906FU","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"2 Style \/ XS","offer_id":44457301475596,"sku":"CJYJ142257908HS","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"2 Style \/ S","offer_id":44457302065420,"sku":"CJYJ142257909IR","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"2 Style \/ M","offer_id":44457302655244,"sku":"CJYJ142257910JQ","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"2 Style \/ L","offer_id":44457303245068,"sku":"CJYJ142257911KP","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"2 Style \/ XL","offer_id":44457303834892,"sku":"CJYJ142257912LO","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"5 Style \/ XS","offer_id":45431064199436,"sku":"CJYJ142257926ZA","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"5 Style \/ S","offer_id":45431064232204,"sku":"CJYJ142257927AZ","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"5 Style \/ M","offer_id":45431064264972,"sku":"CJYJ142257928BY","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"5 Style \/ L","offer_id":45431064297740,"sku":"CJYJ142257929CX","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"5 Style \/ XL","offer_id":45431064330508,"sku":"CJYJ142257930DW","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"6 Style \/ XS","offer_id":45431064396044,"sku":"CJYJ142257932FU","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"6 Style \/ S","offer_id":45431064428812,"sku":"CJYJ142257933GT","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"6 Style \/ M","offer_id":45431064461580,"sku":"CJYJ142257934HS","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"6 Style \/ L","offer_id":45431064494348,"sku":"CJYJ142257935IR","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"6 Style \/ XL","offer_id":45431064527116,"sku":"CJYJ142257936JQ","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"7 Style \/ XS","offer_id":44460897534220,"sku":"CJYJ142257938LO","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"7 Style \/ S","offer_id":44460897566988,"sku":"CJYJ142257939MN","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"7 Style \/ M","offer_id":44460897599756,"sku":"CJYJ142257940NM","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"7 Style \/ L","offer_id":44460897632524,"sku":"CJYJ142257941OL","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"7 Style \/ XL","offer_id":44460897665292,"sku":"CJYJ142257942PK","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"8 Style \/ XS","offer_id":44457301344524,"sku":"CJYJ142257944RI","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"8 Style \/ S","offer_id":44457301934348,"sku":"CJYJ142257945SH","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"8 Style \/ M","offer_id":44457302524172,"sku":"CJYJ142257946TG","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"8 Style \/ L","offer_id":44457303113996,"sku":"CJYJ142257947UF","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"8 Style \/ XL","offer_id":44457303703820,"sku":"CJYJ142257948VE","price":27.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/IMG-20240610-WA0022.png?v=1753461194"},{"product_id":"triangel-bikini","title":"Watermelon Bikini Women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that stays in place all day – and remains light and carefree?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a bikini just *is* – without you constantly having to think about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eOver the course of a long day at the beach, you quickly notice whether a bikini cooperates or if you're constantly adjusting it.\u003c\/p\u003e\n\n  \u003ch2\u003eWatermelon Triangle Bikini – Playful Pattern for Lake, Pool, and Beach\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nTriangle top with adjustable straps – for a fit that can be adapted, watermelon illustration with black seeds on a light background, fabric made of elastic polyester that feels comfortable on the skin.\u003c\/p\u003e\n\n\u003cp\u003eThe watermelon pattern is one of those motifs you either instantly love or don't – and that's precisely what makes it honest. The illustration is clearly drawn: juicy green and red areas, black seeds, no frills. On the shores of Lake Constance, where the afternoon light skims flat across the water, this pattern appears light and direct – like a summer that needs no grand announcement.\u003c\/p\u003e\n\n\u003cp\u003eThe triangle top can be adjusted with the straps, allowing for a customized fit. The color combination of green, red, and white stays within a clear framework – loud enough to stand out, quiet enough to pair with simple linen shorts or a white wrap skirt. Those who usually shy away from striking patterns might make an exception here – despite its size, the motif remains understated in its overall effect.\u003c\/p\u003e\n\n\u003cp\u003eGetting up and going into the water at the lake – the pattern briefly catches the eye without shouting. Sitting down on the pier, applying sunscreen, the bikini stays calmly in place. As a souvenir or gift for someone who loves summer and doesn't want to be stuck in overly serious colors, this set is a harmonious choice.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The fabric feels soft against the skin – even after a long day in the water.\u003cbr\u003e• The pattern brings joy without needing explanation – it speaks for itself.\u003cbr\u003e• You put it on and feel ready – no second-guessing if it fits.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, you'll find the size calculator below – it will help you estimate 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 measurement (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\": \"S\", \"hip_min\": 76.0, \"hip_max\": 78.0, \"bust_min\": 72.0, \"bust_max\": 74.0}, {\"name\": \"M\", \"hip_min\": 80.0, \"hip_max\": 82.0, \"bust_min\": 76.0, \"bust_max\": 78.0}, {\"name\": \"L\", \"hip_min\": 84.0, \"hip_max\": 86.0, \"bust_min\": 80.0, \"bust_max\": 82.0}, {\"name\": \"XL\", \"hip_min\": 88.0, \"hip_max\": 90.0, \"bust_min\": 84.0, \"bust_max\": 86.0}, {\"name\": \"2XL\", \"hip_min\": 93.0, \"hip_max\": 95.0, \"bust_min\": 89.0, \"bust_max\": 91.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✔ Material: Polyester, elastic\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: Triangle top with adjustable straps\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Rinse briefly with clear water after wearing, delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\u003c\/div\u003e\n\n\n  \u003cp class=\"bn-mini-cta\"\u003eWhen the cut and size are right for you, the Women's Watermelon Bikini can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini feels restless in the water and gives way\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eWhat makes the difference with a triangle cut – and who it suits.\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 that slips in the water and needs constant adjustment\u003c\/li\u003e\n\n\u003cli\u003eWaistband that pinches or cuts in after a few hours\u003c\/li\u003e\n\n\u003cli\u003eFabric that feels unpleasant when wet or bulks up\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eWho hasn't experienced this: you go into the water, dive in, and the top immediately needs attention afterwards. Or the waistband pulls so much after a while that you'd rather leave the lake sooner than planned. This is not an unchangeable law – but it happens more often than it should.\u003c\/p\u003e\n\n\u003cp\u003eOften it's due to the interaction of cut and material. A triangle top with too few adjustment options simply doesn't fit every bust shape equally well. And a waistband that fits when dry can behave differently when wet – depending on how the fabric reacts to moisture.\u003c\/p\u003e\n\n\u003cp\u003eThis watermelon bikini is designed as a triangle set – with adjustable straps so the top can be adapted to different proportions, and an elastic polyester fabric that should remain stable during normal movement in the water. Whether this is true for you, of course, depends on how you swim and what you expect from a bikini. This cut is less suitable for intense water sports or strenuous activities – such as surfing or active diving. As a bathing and beach bikini for lakes, pools, and more relaxed vacation use, it can be a good option.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eImagine you get out of the water after swimming – is the bikini still sitting the way you put it on?\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 to find a suitable top and bottom.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eIf you're unsure, it's worth taking a look at the bikini size guide – there you'll find information on waistband shapes and top variations.\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 stays securely in place even during gentle swimming\u003c\/li\u003e\n\n\u003cli\u003e→ The pattern still looks fresh even after a long day at the beach\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Playful watermelon pattern – clearly drawn, understated in overall effect\u003c\/li\u003e\n\n\u003cli\u003e✅ Triangle top with adjustable straps for an individual fit\u003c\/li\u003e\n\n\u003cli\u003e✅ Elastic polyester fabric – comfortable on the skin during normal wear\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be chosen separately for individual size combinations\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intense water sports (surfing, diving, strenuous activities)\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer plain or very subtle patterns might tire of the motif\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Triangle cut offers less support than padded or structured tops\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Watermelon Bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips after swimming\u003c\/td\u003e\n\n\u003ctd\u003eAdjustable straps allow for individual fit – can help the top stay more securely in place\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eDifficult to estimate size for online bikinis\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom can be chosen separately, size calculator available for guidance\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eWaistband pinches with prolonged wear\u003c\/td\u003e\n\n\u003ctd\u003eElastic polyester fabric adapts to normal wear\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 such situations with the Women's Watermelon Bikini – so you have to make fewer adjustments while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the Women's Watermelon Bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments where you notice: 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\u003eAt 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: High-quality polyester, elastic \u0026amp; comfortable on the skin\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \n  \n\u003cdiv class=\"bn-target\"\u003e\n\n  \u003ch3\u003eMay fit well if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eWomen's Watermelon 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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about the Women's Watermelon Bikini\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 triangle bikini with a watermelon pattern?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eTop and bottom can be chosen separately. Use the size calculator with your height and weight as a guide. If in doubt, it is generally recommended to choose the larger size, so the triangle top has enough room for adjustment.\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 waistband fit during movement – for example, when swimming?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bottom is made of elastic polyester and designed for normal use at the beach and in the water. During gentle swimming and everyday beach movement, it generally stays securely in place. This cut is less designed for intensive water sports activities.\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 care for this Watermelon Bikini correctly?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear, cool water after wearing. Wash on a delicate cycle at 30 °C. Do not tumble dry – laying flat to air dry preserves shape and material 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\"\u003eIs this bikini also suitable for Lake Constance or other lakes?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the triangle bikini with a watermelon pattern is suitable for use at the lake, pool, and beach. It is designed for everyday beach situations – gentle swimming, walking around, sitting on the shore.\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 also order the regional Watermelon Bikini as a gift?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThat is possible. Since bikinis are very size-dependent, it is advisable to look at the size calculator or – if unsure – a gift voucher, so the recipient can choose the size themselves.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\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\/bikini-damen\/push-up-bikini\"\u003ePush-up Bikini\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/bikini-damen\/bikini-grosse-grossen\"\u003ePlus Size Bikinis\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=\"Watermelon illustration with black seeds on a light background – clear and direct\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Triangle top on the shores of Lake Constance in the afternoon light\" 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 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 checked 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 scenarios above, the Women's Watermelon 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\"\u003eWomen's Watermelon Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€25.95\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 the Women's Watermelon 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\": \"Wassermelonen Bikini Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/products\/Hb29d579058b749d3934f67fe54ec6e115.jpg?v=1753460804\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"25.95\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Watermelon \/ S","offer_id":44489438789900,"sku":"14:365458#red;5:100014064;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Watermelon \/ M","offer_id":44489438953740,"sku":"14:365458#red;5:361386;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Watermelon \/ L","offer_id":44489439117580,"sku":"14:365458#red;5:361385;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Watermelon \/ XL","offer_id":44489439281420,"sku":"14:365458#red;5:100014065;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Watermelon \/ 2XL","offer_id":44489456156940,"sku":"Wassermelone2XL","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard \/ S","offer_id":44489438822668,"sku":"14:350852#black;5:100014064;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard \/ M","offer_id":44489438986508,"sku":"14:350852#black;5:361386;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard \/ L","offer_id":44489439150348,"sku":"14:350852#black;5:361385;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard \/ XL","offer_id":44489439314188,"sku":"14:350852#black;5:100014065;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard \/ 2XL","offer_id":44489456189708,"sku":"Leopard2XL","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Honeydew melon \/ S","offer_id":44489438855436,"sku":"14:366#yellow;5:100014064;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Honeydew melon \/ M","offer_id":44489439019276,"sku":"14:366#yellow;5:361386;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Honeydew melon \/ L","offer_id":44489439183116,"sku":"14:366#yellow;5:361385;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Honeydew melon \/ XL","offer_id":44489439346956,"sku":"14:366#yellow;5:100014065;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Honeydew melon \/ 2XL","offer_id":44489456222476,"sku":"Honigmelone2XL","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"wavy colorful \/ S","offer_id":44489438888204,"sku":"14:1254#striped;5:100014064;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"wavy colorful \/ M","offer_id":44489439052044,"sku":"14:1254#striped;5:361386;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"wavy colorful \/ L","offer_id":44489439215884,"sku":"14:1254#striped;5:361385;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"wavy colorful \/ XL","offer_id":44489439379724,"sku":"14:1254#striped;5:100014065;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"wavy colorful \/ 2XL","offer_id":44489456255244,"sku":"Weilligbunt2XL","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Wavy yellow \/ S","offer_id":44489438920972,"sku":"14:200004891#yellow;5:100014064;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Wavy yellow \/ M","offer_id":44489439084812,"sku":"14:200004891#yellow;5:361386;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Wavy yellow \/ L","offer_id":44489439248652,"sku":"14:200004891#yellow;5:361385;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Wavy yellow \/ XL","offer_id":44489439412492,"sku":"14:200004891#yellow;5:100014065;200007763:201336100","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Wavy yellow \/ 2XL","offer_id":44489456288012,"sku":"Welliggelb2XL","price":25.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/products\/Hb29d579058b749d3934f67fe54ec6e115.jpg?v=1753460804"},{"product_id":"bikini-damen-punkte","title":"black polka dot bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that stays put all day – without you even thinking about it?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a bikini simply fits – just as well in the morning at the lake as after the third jump into the water.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eThe difference often doesn't show immediately, but rather by midday – when you realize you haven't had to adjust it at all.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Black and White Polka Dot Bikini – Subtle Pattern for Lake, Beach, and Pool\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nA classic polka-dot pattern on a black background – white dots with fine stripe details that give the look a calm structure. Made from 78% polyamide and 22% elastane: soft on the body, with enough rebound for a comfortable fit.\u003c\/p\u003e\n\n\u003cp\u003eThe black and white pattern with its evenly distributed white dots seems familiar at first glance – and yet not interchangeable. It's the kind of pattern that doesn't need explaining on the shores of Lake Constance any more than on Lake Garda. A black and white polka dot bikini has a long visual history – from old holiday photos to today's beach days – and that's precisely what makes it so easy to combine.\u003c\/p\u003e\n\n\u003cp\u003eThe stripe details create a slight counterpoint to the polka dot pattern and add a subtle tension to the overall look. Those who like clear lines and calm contrasts will find themselves in it. Those who prefer colorful prints or floral motifs will probably be less happy with this bikini – the pattern thrives on understatement, not conspicuousness.\u003c\/p\u003e\n\n\u003cp\u003eDrink coffee on the pier in the morning, with a pattern that doesn't impose itself. Go into the water at lunchtime without thinking twice about the fit. A quick ice cream in the afternoon – the top goes along with it without you having to consciously deal with it. For days when you just want to be there, without your clothing becoming an issue.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern stands out without dominating – a simple eye-catcher at the water.\u003cbr\u003e• The fabric feels soft, even when wet – no unpleasant stickiness.\u003cbr\u003e• The black and white can be combined with almost any beach towel and cover-up.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you're looking for a black and white polka dot bikini that doesn't draw attention to itself in everyday water activities – take your time to look at the cut and size.\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\": \"S\", \"hip_min\": 86.0, \"hip_max\": 91.0}, {\"name\": \"M\", \"hip_min\": 91.0, \"hip_max\": 96.0}, {\"name\": \"L\", \"hip_min\": 96.0, \"hip_max\": 101.0}, {\"name\": \"XL\", \"hip_min\": 101.0, \"hip_max\": 106.0}, {\"name\": \"2XL\", \"hip_min\": 106.0, \"hip_max\": 111.0}, {\"name\": \"3XL\", \"hip_min\": 111.0, \"hip_max\": 116.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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Gentle wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Pattern: Black and white polka dot with stripe details\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 polka dot bikini can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini feels restless in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eWhat can make a difference when buying a polka dot bikini.\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\u003eThe top slips while swimming and constantly needs adjusting\u003c\/li\u003e\n\n\u003cli\u003eBikinis ordered online fit differently than expected\u003c\/li\u003e\n\n\u003cli\u003eAfter a few days at the beach, the fabric loses its comfortable feel\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou know the feeling: you go into the water, dive down – and when you resurface, the top has already slipped. At the beach, this is hardly noticeable, but after the third adjustment, it starts to demand the attention you actually wanted to dedicate to the day.\u003c\/p\u003e\n\n\u003cp\u003eThis often happens when the material has little inherent tension or the cut doesn't suit the body shape. A bikini that only fits while standing, but shifts with every movement, is usually due to a combination of elastane content and cut – both together determine how much rebound the fabric offers.\u003c\/p\u003e\n\n\u003cp\u003eThis black polka dot bikini is made from a polyamide-elastane blend and designed for a stable fit during everyday water movements – swimming, sitting on the pier, getting out of the water. It is less intended for intense water sports or competitive swimming; there are more specialized cuts for that. If you are planning a beach holiday at the lake or sea and want a bikini that goes along with it without constantly becoming an issue, this one might be suitable.\n\u003cbr\u003e\u003cbr\u003eDoes that fit what you imagine?\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTake your time to look at the top and bottom – both can be chosen separately.\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→ Stays put while swimming – without constant adjusting\u003c\/li\u003e\n\n\u003cli\u003e→ Pattern remains clear and structured even after several washes\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Timeless polka-dot pattern – combinable with many beach accessories\u003c\/li\u003e\n\n\u003cli\u003e✅ Polyamide-elastane blend for a stable fit during everyday movements\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be chosen separately – practical for different sizes\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intense water sports or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer colorful or floral patterns will be less happy with this simple black and white pattern\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ black polka dot bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips while swimming and constantly needs adjusting\u003c\/td\u003e\n\n\u003ctd\u003ePolyamide-elastane blend designed for a more stable fit during normal movement in water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\u0026lt;\n\u003ctr\u003e\n\n\u003ctd\u003eOnline bikini sizes are rarely accurate\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom can be chosen separately, size calculator as a guide\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eFabric feels unpleasantly sticky when wet\u003c\/td\u003e\n\n\u003ctd\u003eHigh polyamide content usually feels soft – even when wet\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 exactly these situations with the black polka dot 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 the black polka dot 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 when moving.\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\u003eAt the beach\u003c\/h4\u003e\n\n      \u003cp\u003eSalt water, 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. Gentle 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: Gentle 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\u003eIt might be a good fit if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eblack polka dot 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 Gentle 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 the black polka dot bikini\u003c\/h3\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 a black polka dot bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, then wash on a gentle cycle at 30°C. Do not tumble dry – this protects the elasticity of the polyamide-elastane fabric and helps keep the pattern clear 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\"\u003eHow do I find the right size for a bikini online?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eWith bikinis, it can be useful to choose the top and bottom separately if your torso and hips are different sizes. Our size calculator gives you a guide based on height and weight – if in doubt, one size larger is usually the safer 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\"\u003eWhat water activities is a black and white polka dot bikini 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 designed for everyday water movements – swimming, snorkeling, splashing, beach days at the lake or sea. For intense water sports or competitive swimming, there are more specialized cuts that are better suited.\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\"\u003eWhat distinguishes a simple polka dot bikini from a one-piece for the beach?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eA two-piece bikini can be adjusted separately for the top and bottom – practical if both body parts are different sizes. A swimsuit often offers more back coverage and a more closed fit, which some prefer. Which cut fits depends on personal preference and intended use.\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 waistband of the bikini bottom fit when moving?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bottom is made from a polyamide-elastane blend that usually stays put during normal activity – walking, sitting, going into the water. The exact fit depends on size and body shape; the size calculator provides a guide.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Black background with evenly distributed white dots – clear and calm\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Fine stripe details as a subtle counterpoint to the polka dot pattern\" 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 items!\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 according to 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 scenarios above, a black polka dot 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 polka dot bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€29.94\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 polka dot 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 mit Punkten\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/bikini5.png?v=1753460524\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"29.94\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Default Title","offer_id":44490902012172,"sku":"","price":29.94,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/bikini5.png?v=1753460524"},{"product_id":"badeanzug-damen-schulter-bedeckt","title":"Women's Black Swimsuit","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a black swimsuit comfortable to wear all day long – in and out of the water?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a swimsuit just fits – without you constantly thinking about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eMany don't notice the difference when they first put it on, but only after a few hours at the lake or pool.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Black Swimsuit – simply cut, for the lake, pool, and beach\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nA one-piece black swimsuit in a calm, plain design – designed for a comfortable fit during movement in the water, with a cut that neither stands out nor hides.\u003c\/p\u003e\n\n\u003cp\u003eBlack stays black – on the shore, in the water, on the sun lounger. This women's black swimsuit relies on a plain, timeless design that effortlessly blends into any beach day. No pattern that looks outdated after one season. No print that distracts. Just a clear line that speaks for itself.\u003c\/p\u003e\n\n\u003cp\u003eOn the shore of Lake Constance, when you step into the water from the jetty and briefly look around – you notice how little some swimsuits need to make an impact. This one combines calm black with a cut that remains as calm when walking on the beach as when swimming. The fabric fits without pulling. The design can be effortlessly combined with a beach towel or a light summer dress – no elaborate rethinking necessary.\u003c\/p\u003e\n\n\u003cp\u003eA black swimsuit with this cut suits a quiet morning at the outdoor pool as much as a long afternoon at the lake. If you put it on after swimming and go for ice cream – it goes along with both without setting the tone. For some, that's exactly right: a piece that stays in the background and still fits.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• You go into the water and don't have to adjust immediately – the cut is designed for movement in the water.\u003cbr\u003e• You lie on the sun lounger and the fabric still feels comfortable after an hour – not sticky, not sliding.\u003cbr\u003e• You combine it with a sarong and a basket bag – and you look like you put more thought into it than you intended.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, choose your size based on your bust, waist, or hips – this way, the choice will fit your figure better than a purely letter-based size.\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-badeanzug\"\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 (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_badeanzug()\"\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_badeanzug() {\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_badeanzug() {\n        const genderSelect = document.getElementById('bn_gender');\n        if (genderSelect) {\n            genderSelect.addEventListener('change', toggleGenderFields_badeanzug);\n            toggleGenderFields_badeanzug();\n        } else {\n            setTimeout(initGenderToggle_badeanzug, 100);\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initGenderToggle_badeanzug);\n    } else {\n        initGenderToggle_badeanzug();\n    }\n})();\n\nfunction calculateSize_badeanzug() {\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\": \"S\"}, \"sizes\": [{\"name\": \"S\", \"bust_min\": 86.0, \"bust_max\": 89.0, \"waist_min\": 66.0, \"waist_max\": 69.0, \"hip_min\": 93.0, \"hip_max\": 95.0}, {\"name\": \"M\", \"bust_min\": 91.0, \"bust_max\": 94.0, \"waist_min\": 71.0, \"waist_max\": 74.0, \"hip_min\": 98.0, \"hip_max\": 100.0}, {\"name\": \"L\", \"bust_min\": 98.0, \"bust_max\": 101.5, \"waist_min\": 77.0, \"waist_max\": 81.0, \"hip_min\": 100.0, \"hip_max\": 104.0}, {\"name\": \"XL\", \"bust_min\": 101.5, \"bust_max\": 109.0, \"waist_min\": 84.0, \"waist_max\": 89.0, \"hip_min\": 111.0, \"hip_max\": 115.0}, {\"name\": \"2XL\", \"bust_min\": 111.0, \"bust_max\": 117.0, \"waist_min\": 91.0, \"waist_max\": 97.0, \"hip_min\": 120.0, \"hip_max\": 126.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✔ Design: plain black, no motif\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: one-piece, designed for movement in the water\u003c\/li\u003e\n\n\u003cli\u003e✔ Size selection: by bust, waist, or hips\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 women's swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a swimsuit sits uneasily in the water and remains uncomfortable afterwards\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA calm cut can help you enjoy the whole day at the beach more focused.\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\u003eThe swimsuit slips when swimming and you constantly have to pull it up\u003c\/li\u003e\n\n\u003cli\u003eAfter swimming, the fabric sticks unpleasantly to the skin\u003c\/li\u003e\n\n\u003cli\u003eThe size online never fits as hoped\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eAnyone who just wants to swim at the lake or in the swimming pool without constantly adjusting their swimsuit knows the feeling: you dive in, come up – and already you're pulling it up again. This is distracting, costs energy, and makes the day at the beach feel shorter than it could be.\u003c\/p\u003e\n\n\u003cp\u003eThis is often due less to the material than to the cut. A swimsuit designed for movement in the water fits differently than one designed only for lying in the sun. The difference is not apparent when trying it on, but during the first longer swim through the water.\u003c\/p\u003e\n\n\u003cp\u003eThis women's black swimsuit is designed for a stable fit during movement – while swimming as well as walking on the beach. However, if you prefer a swimsuit with a colorful pattern or striking design, this simple model might not be your style. For some, the plain black is exactly right – for others, it's too subtle.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you are unsure whether the cut suits your figure: Which measurements – bust, waist, or hips – usually determine how a swimsuit really fits for you?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you assess the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e30-day return policy, in case it's not the right fit after the first wear.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Calm fit when swimming – no constant pulling\u003c\/li\u003e\n\n\u003cli\u003e→ From water to lounger without changing – the design works for both\u003c\/li\u003e\n\n\u003cli\u003e→ Timeless black that still looks fresh after several days of vacation\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✅ Plain, timeless design – suitable for many combination options on the beach\u003c\/li\u003e\n\n\u003cli\u003e✅ Cut designed for a stable fit during movement in the water\u003c\/li\u003e\n\n\u003cli\u003e✅ Size selection by bust, waist, or hips – more precise than purely letter-based sizes\u003c\/li\u003e\n\n\u003cli\u003e✅ 30-day return policy – with normal use\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for competitive sports and daily intensive swimming sessions\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer colorful patterns or striking designs will find no motif here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not a backless cut – those looking for open back sections should check other models\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 of similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Black Swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eCut slips when swimming and constantly needs adjusting\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for a stable fit during movement in the water – cut with room for movement\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline sizes for swimwear rarely fit as expected\u003c\/td\u003e\n\n\u003ctd\u003eSize selection by bust, waist, or hips – size calculator available, 30-day return policy\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBlack swimsuits often appear flat and not well thought out\u003c\/td\u003e\n\n\u003ctd\u003eClean cut line that works through form rather than color – subtle, but with attitude\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 thought about exactly these situations with our women's black swimsuit – so you have to adjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the women's black swimsuit 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 when moving.\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\u003eSalt water, 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. Chlorine and salt don't harm the material.\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: 30 seconds\u003cbr\u003e• Care: Gentle cycle 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 fit well if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eswimsuit\u003c\/strong\u003e that sits securely when swimming\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003esimple cuts\u003c\/strong\u003e without superfluous details\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort\u003c\/strong\u003e – in and out of the water\u003c\/li\u003e\n\n\u003cli\u003e→ You want to \u003cstrong\u003eavoid bad purchases\u003c\/strong\u003e with clear size information\u003c\/li\u003e\n\n\u003cli\u003e→ You buy \u003cstrong\u003econsciously\u003c\/strong\u003e rather than on speculation\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 Gentle cycle 30°C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eFeatures:\u003c\/strong\u003e Opaque, quick-drying\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eArea of use:\u003c\/strong\u003e Swimming, beach, pool – rinsing after bathing recommended\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 Women's Black Swimsuit\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does the women's black swimsuit fit when moving in the water?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe cut is designed for a stable fit during movement – while swimming as well as walking on the beach. How well it fits also depends on choosing the correct size. Use our size calculator with bust, waist, and hip measurements for this.\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 find the right size for a one-piece women's black swimsuit?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eFor swimsuits, we recommend measuring your bust, waist, and hips and using the largest measurement as a guide. Our size calculator helps with this. If in doubt, choose one size up – 30-day returns are included.\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\"\u003eIs this women's black swimsuit also suitable for the swimming pool?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the cut is designed for use in water – swimming pool, lake, or beach. It is less intended for daily intensive swimming sessions in competitive sports; there are specially designed swimwear models for that.\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 care for the black swimsuit after bathing?\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 gentle cycle at 30 °C. Do not tumble dry – this protects the fabric and maintains its shape 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 also combine the women's black swimsuit with a beach dress or sarong?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe plain black design can be effortlessly combined with a beach towel, a light summer dress, or shorts – from the water to the lounger without changing.\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\"\u003eFor whom is this women's black swimsuit less suitable?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eIf you are looking for colorful patterns, striking prints, or a swimsuit for intensive daily swimming sessions in sports, this simple model might not be the right choice. It is designed for comfort and a calm design – not for competitive sports.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eWomen's Swimsuit\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-der-zeitlose-klassiker-fur-jeden-anlass\"\u003eBlack Swimsuit: The Timeless Classic for Every Occasion\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-damen\"\u003eWomen's Black Swimsuit\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=\"Black swimsuit on the shore of Lake Constance – clear line, calm water in the background\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Close-up fabric – uniform black surface, no pattern, soft texture\" 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 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 scenarios above, the women's black swimsuit could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Black Swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-original\"\u003e€44.95\u003c\/span\u003e \u003cspan class=\"bn-cta-sale\"\u003e€34.92\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 women's black swimsuit 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: 2026-05-17\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 Badeanzug Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/Bild1.png?v=1753460164\", \"category\": \"badeanzug\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"34.92\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Ebony black \/ S","offer_id":44528772481292,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ M","offer_id":44528772514060,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ L","offer_id":44528772546828,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ XL","offer_id":44528916693260,"sku":"5","price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ XXL","offer_id":49273838862604,"sku":"","price":34.92,"currency_code":"EUR","in_stock":false},{"title":"Cherry red \/ S","offer_id":44528772874508,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ M","offer_id":44528772907276,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ L","offer_id":44528772940044,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ XL","offer_id":44528916758796,"sku":"3","price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ XXL","offer_id":49273838928140,"sku":"","price":34.92,"currency_code":"EUR","in_stock":false},{"title":"Colorful flowers \/ S","offer_id":44528773071116,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Colorful flowers \/ M","offer_id":44528773103884,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Colorful flowers \/ L","offer_id":44528773136652,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Colorful flowers \/ XL","offer_id":44528916791564,"sku":"2","price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Colorful flowers \/ XXL","offer_id":49273838960908,"sku":"","price":34.92,"currency_code":"EUR","in_stock":false},{"title":"Black \u0026amp; Blue \/ S","offer_id":44528773267724,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Black \u0026amp; Blue \/ M","offer_id":44528773300492,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Black \u0026amp; Blue \/ L","offer_id":44528773333260,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Black \u0026amp; Blue \/ XL","offer_id":44528916824332,"sku":"1","price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Black \u0026amp; Blue \/ XXL","offer_id":49273838993676,"sku":"","price":34.92,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/Bild1.png?v=1753460164"},{"product_id":"badeanzug-damen-coteazur","title":"turquoise swimsuit lemon print","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a swimsuit that stays put all day – and looks good doing it?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that calm feeling when a swimsuit fits perfectly from the first try-on – without constant tugging.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd usually, you only notice it after a while – when others have already adjusted theirs three times.\u003c\/p\u003e\n\n  \u003ch2\u003eCote Azur Women's Swimsuit – Turquoise Lemon Pattern for Lakes, Pools, and Holidays\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nOne-piece cut for movement in the water – lemon pattern on a turquoise background, soft and form-fitting on the body.\u003c\/p\u003e\n\n\u003cp\u003eThe lemon pattern is one of those motifs that immediately bring summer to mind – bright light over the water, cool lemonade on a towel, a holiday without much of a plan. Turquoise and yellow side by side: fresh, but not loud. This combination makes the swimsuit a piece that stands out without being obtrusive.\u003c\/p\u003e\n\n\u003cp\u003eOn the shore of Lake Constance, when you get out of the water and sit in the sun for a moment, the pattern acts like a small holiday promise. Or by the pool of a vacation home, when you dangle your legs over the edge – the lemon motif on turquoise can be combined with white linen trousers, a light beach towel, or simple sandals, without having to think too much.\u003c\/p\u003e\n\n\u003cp\u003eThis swimsuit is just as suitable for a day at the beach as it is for an afternoon dip in the lake. If you're looking for a souvenir that expresses summer vibes without looking cheesy – this motif captures exactly that mood.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• You put it on and briefly think: exactly the right green-blue – fresh, yet calm.\u003cbr\u003e• It stands out on the beach without being showy – the lemon pattern remains subtly playful.\u003cbr\u003e• As a gift, it says: I wish you summer – without having to put it into words.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, choose your size – our size calculator will help with the estimation.\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-badeanzug\"\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_badeanzug()\"\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_badeanzug() {\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_badeanzug() {\n        const genderSelect = document.getElementById('bn_gender');\n        if (genderSelect) {\n            genderSelect.addEventListener('change', toggleGenderFields_badeanzug);\n            toggleGenderFields_badeanzug();\n        } else {\n            setTimeout(initGenderToggle_badeanzug, 100);\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initGenderToggle_badeanzug);\n    } else {\n        initGenderToggle_badeanzug();\n    }\n})();\n\nfunction calculateSize_badeanzug() {\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\": \"L\"}, \"sizes\": [{\"name\": \"S\", \"waist_min\": 114.6, \"waist_max\": 137.1, \"hip_min\": 86.0, \"hip_max\": 91.0, \"bust_min\": 81.0, \"bust_max\": 86.0}, {\"name\": \"M\", \"waist_min\": 61.0, \"waist_max\": 66.0, \"hip_min\": 91.0, \"hip_max\": 97.0, \"bust_min\": 86.0, \"bust_max\": 91.0}, {\"name\": \"L\", \"waist_min\": 66.0, \"waist_max\": 71.0, \"hip_min\": 97.0, \"hip_max\": 102.0, \"bust_min\": 91.0, \"bust_max\": 97.0}, {\"name\": \"XL\", \"waist_min\": 71.0, \"waist_max\": 76.0, \"hip_min\": 102.0, \"hip_max\": 107.0, \"bust_min\": 97.0, \"bust_max\": 102.0}, {\"name\": \"2XL\", \"waist_min\": 76.0, \"waist_max\": 81.0, \"hip_min\": 107.0, \"hip_max\": 112.0, \"bust_min\": 102.0, \"bust_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✔ Material: 78% Polyamide (recycled), 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Lemon pattern on turquoise background, one-piece cut\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 fit you, the turquoise lemon pattern swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a swimsuit doesn't stay where it belongs in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eCut and material can make a difference – but not for every use.\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\u003eSwimsuit constantly slips down when swimming\u003c\/li\u003e\n\n\u003cli\u003eAfter an hour of wear, nothing fits properly anymore\u003c\/li\u003e\n\n\u003cli\u003ePattern or color fades after a few holidays\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou know the feeling: you jump from the jetty, swim a few laps – and as soon as you get out, you feel that something has slipped. Straps, neckline, back. It's not a dramatic problem, but it draws attention where you don't want it.\u003c\/p\u003e\n\n\u003cp\u003eSwimsuits designed for movement in the water often differ in cut: close-fitting seams, elastic material that moves with the body instead of against it. Whether a cut achieves this for everyone depends on body shape, wearing comfort, and personal preference.\u003c\/p\u003e\n\n\u003cp\u003eThis turquoise swimsuit with a lemon pattern is intended for normal swimming, lake or pool holidays – not for daily intensive training sessions in the swimming pool. Those looking for a swimsuit specifically for competition or very regular lap swimming may find more suitable models with a more technical cut. For everyone else, this swimsuit can be a comfortable, uncomplicated option.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes this fit how you wear swimwear – more relaxed at the lake, or more daily in the swimming pool?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you assess the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eFor questions about fit or returns, you can find all information directly on the product page. 30-day return policy, clear care instructions – so the decision doesn't have to be one you doubt for long.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Stays put calmly while swimming and walking on the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Lemon pattern looks fresh without being conspicuous\u003c\/li\u003e\n\n\u003cli\u003e→ Still in good condition after the holiday with a clear water care routine\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✅ Recycled polyamide-elastane blend – designed for flexibility in water\u003c\/li\u003e\n\n\u003cli\u003e✅ Subtle lemon pattern on turquoise – can be combined simply\u003c\/li\u003e\n\n\u003cli\u003e✅ Delicate wash 30 °C – easy to care for with normal use\u003c\/li\u003e\n\n\u003cli\u003e✅ 30-day return policy – allows you to test the size at your leisure\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not designed for daily intensive swimming sessions or competitive sports\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer very technical sports swimsuits will find more suitable models in this segment\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Patterned swimwear is not for everyone – those who prefer plain colors should look at other models\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✅ turquoise lemon pattern swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eCut slips when swimming\u003c\/td\u003e\n\n\u003ctd\u003eElastane content is designed for a stable fit during moderate movement in water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eColor fades after a few holidays\u003c\/td\u003e\n\n\u003ctd\u003eRecycled polyamide can contribute to color fastness with proper care (delicate wash 30 °C, no tumble dry)\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern quickly looks overloaded or touristy\u003c\/td\u003e\n\n\u003ctd\u003eLemon motif on turquoise – understated design that can be combined with neutral colors\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 exactly these situations with the turquoise lemon pattern swimsuit – 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 the turquoise lemon pattern swimsuit 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 when moving.\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\u003eSalt water, 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 to dry, done. Chlorine and salt don't affect the material.\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 (recycled), 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\u003eCould be a good fit if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You're looking for a \u003cstrong\u003eswimsuit\u003c\/strong\u003e that fits securely when swimming\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003esimple cuts\u003c\/strong\u003e without unnecessary details\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort\u003c\/strong\u003e – in and out of the water\u003c\/li\u003e\n\n\u003cli\u003e→ You want to \u003cstrong\u003eavoid bad purchases\u003c\/strong\u003e with clear size information\u003c\/li\u003e\n\n\u003cli\u003e→ You buy \u003cstrong\u003econsciously\u003c\/strong\u003e instead of on spec\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\u003cli\u003e\n\n\u003cstrong\u003eFeatures:\u003c\/strong\u003e Opaque, quick-drying\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eArea of use:\u003c\/strong\u003e Swimming, beach, pool - rinsing after bathing is recommended\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 the turquoise lemon pattern swimsuit\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does the turquoise lemon pattern swimsuit fit when moving in the water?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe swimsuit is designed for normal swimming and holiday activities – the elastane content can help it stay put during moderate movement. It is less intended for very intensive daily swimming sessions or competitive sports.\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 find the right size for the Cote Azur women's swimsuit?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator helps you with the estimation – enter your height and weight, and you'll get a recommendation. If in doubt, it's worth choosing one size larger, as swimwear can stretch a little when wet. Additionally: 30-day return policy if the size doesn't fit.\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 the swimsuit after bathing?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, then delicate wash at 30 °C. Do not tumble dry – this protects the material and the color of the lemon pattern long-term.\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\"\u003eIs this lemon pattern swimsuit also suitable for swimming pools?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe swimsuit can be used for occasional visits to the swimming pool. The material made of recycled polyamide and elastane is designed for contact with water. For very regular lap swimming with daily chlorine contact, specially developed sports swimsuits may be more suitable.\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\"\u003eWhat can the turquoise lemon pattern swimsuit be combined with?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eWhite linen trousers, light beach towels, or simple sandals go well with it. The turquoise-yellow motif looks fresh without dominating – it can be easily combined with neutral colors like white, beige, or natural tones.\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\"\u003eWhat material is the simple Cote Azur women's swimsuit made of?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003e78% polyamide (recycled), 22% elastane. The recycled polyamide is a conscious material choice – durable and form-fitting. Care instructions: delicate wash 30 °C, do not tumble dry.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eWomen's Swimsuit\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-der-zeitlose-klassiker-fur-jeden-anlass\"\u003eBlack Swimsuit: The Timeless Classic for Every Occasion\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-damen\"\u003eBlack Women's Swimsuit\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=\"Turquoise background with lemon motif – bright and clear in the sunlight by the lake\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Getting out of the water, the pattern lies calmly on the skin\" 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 stock, 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 scenarios above, the turquoise lemon pattern swimsuit could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eturquoise lemon pattern swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€29.94\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 turquoise lemon pattern swimsuit 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: 16.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\": \"türkiser Badeanzug Zitronenmuster\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/IMG-20240603-WA0006.png?v=1753459932\", \"category\": \"badeanzug\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"29.94\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Blue lemons \/ S","offer_id":44528774643980,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Blue lemons \/ M","offer_id":44528774676748,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Blue lemons \/ L","offer_id":44528774709516,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Blue lemons \/ XL","offer_id":45695388549388,"sku":"","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Blue lemons \/ 2XL","offer_id":45695388582156,"sku":"","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"White lemons \/ S","offer_id":44528774545676,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"White lemons \/ M","offer_id":44528774578444,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"White lemons \/ L","offer_id":44528774611212,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"White lemons \/ XL","offer_id":45695388680460,"sku":"","price":29.94,"currency_code":"EUR","in_stock":true},{"title":"White lemons \/ 2XL","offer_id":45695388713228,"sku":"","price":29.94,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/IMG-20240603-WA0006.png?v=1753459932"},{"product_id":"bikini-damen-schwarz-weiss","title":"Zebra Bikini black white","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that stays put on the beach – and still does after swimming?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a bikini simply stays in place – whether you're just getting into the water or lying back down on your towel.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd it's precisely in such moments that many notice the difference – not when first putting it on, but over the course of a long day at the beach.\u003c\/p\u003e\n\n  \u003ch2\u003eZebra Bikini Women's Black and White – with a comfortable fit for beach and lake\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nTwo-piece cut with clearly contoured lines – the black and white zebra pattern looks precise and calm at the same time, the fabric made of 78% polyamide and 22% elastane feels soft and adaptable.\u003c\/p\u003e\n\n\u003cp\u003eThe zebra pattern is one of those designs that repeatedly appear in swimwear – because it makes an impression without being loud. The clear contrast between black and white works just as well on the shores of Lake Constance as on a Mediterranean beach. You put on the top, glance in the mirror – and the pattern does its part without you having to add anything else.\u003c\/p\u003e\n\n\u003cp\u003eThe lines of the zebra pattern flow smoothly over the top and bottom. Combined with a neutral beach towel or a simple linen shirt, the result is a look that is neither too much nor too little. For people who like a recognizable pattern but are not looking for loud colors, this can be a harmonious choice. The black-and-white palette makes combining it with many items found in your vacation luggage uncomplicated.\u003c\/p\u003e\n\n\u003cp\u003eOn the jetty, before you jump into the water. On the sun lounger by the lake, while you open a book. Strolling through the beach market, just before you grab something to drink. In these moments, the pattern contributes – without you consciously thinking about it.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern remains clearly visible even when wet – no fading upon first contact with water.\u003cbr\u003e• The fabric feels soft when dry and adapts with movement – whether swimming a stroke in the water or getting up from the sun lounger.\u003cbr\u003e• The black and white can be combined with what you already have with you – towel, shorts, shirt.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you prefer solid-colored swimwear or vibrant colors, this pattern might not be your style – in that case, take a look at our solid-colored options.\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\": \"S\", \"waist_min\": 66.0, \"waist_max\": 96.0, \"hip_min\": 90.0, \"hip_max\": 94.0, \"bust_min\": 86.0, \"bust_max\": 90.0}, {\"name\": \"M\", \"waist_min\": 70.0, \"waist_max\": 73.0, \"hip_min\": 94.0, \"hip_max\": 98.0, \"bust_min\": 90.0, \"bust_max\": 94.0}, {\"name\": \"L\", \"waist_min\": 74.0, \"waist_max\": 77.0, \"hip_min\": 98.0, \"hip_max\": 102.0, \"bust_min\": 94.0, \"bust_max\": 98.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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Gentle wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Pattern: Zebra black and white, two-piece set\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 fit you, the black and white zebra bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen bikinis shift with movement\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA pattern that stays – and a fit that shouldn't make itself noticeable.\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 slips without warning when swimming\u003c\/li\u003e\n\n\u003cli\u003eWaistband digs in uncomfortably after a few hours\u003c\/li\u003e\n\n\u003cli\u003eEstimating size online feels like a guessing game\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou go into the water, briefly dive under – and afterwards, something isn't sitting right. The top has shifted, the waistband is pulling in one spot. This isn't an uncommon phenomenon: many bikinis are designed for looks, less so for active movement in the water.\u003c\/p\u003e\n\n\u003cp\u003eThe reason often lies in the cut and how the material behaves when wet. Elastane content reacts differently to water – a higher elastane content can help the fabric adapt when worn and stay more securely in place during normal movement. No fabric makes an absolute promise in this regard – but the composition plays a role.\u003c\/p\u003e\n\n\u003cp\u003eThis zebra bikini is designed for a comfortable, movement-friendly fit – for swimming in the lake, splashing in the pool, the back-and-forth of a beach day. It is not a competition bikini or a swimsuit for intense lap swimming. If you are planning more athletic water activities where maximum support is paramount, a specialized sports swimsuit might be more suitable. For all other moments by the water, this cut can be a calm choice.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eHow much movement in the water do you plan – more relaxed swimming or more active sports sessions?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eLook at the top and bottom separately – this way you can adjust the sizes individually, in case the upper and lower measurements require different sizes.\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→ Stays put calmly after a long day at the lake\u003c\/li\u003e\n\n\u003cli\u003e→ Top stays in place while swimming\u003c\/li\u003e\n\n\u003cli\u003e→ Pattern remains clear and high-contrast even when wet\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Clear black and white zebra pattern – timelessly combinable\u003c\/li\u003e\n\n\u003cli\u003e✅ 78% polyamide, 22% elastane – adapts with movement\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be chosen separately – individual size combination possible\u003c\/li\u003e\n\n\u003cli\u003e✅ Designed for relaxed swimming, beach, and lake\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intense water sports or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer solid colors or vibrant color patterns will find more suitable options elsewhere\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No underwire or molded cups – those looking for targeted support in the top should consider this\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\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Zebra Bikini black and white\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\u003eCut designed for stable fit during normal water movement\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSize hard to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom can be chosen separately, size calculator available\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern fades after the season\u003c\/td\u003e\n\n\u003ctd\u003ePolyamide-elastane material for use in water – with proper care, the color lasts longer\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 exactly these situations with the black and white zebra bikini – so you'll have to adjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the black and white zebra bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you notice: 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\u003eAt 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 to dry, done. Gentle 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: Gentle 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're looking for a \u003cstrong\u003eblack and white zebra 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 Gentle 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 the Black and White Zebra Bikini\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eIs a black and white zebra bikini with a high waist suitable for a Lake Constance holiday?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the cut design and the timeless black and white pattern are well suited for relaxed days at the lake or beach. The elastane content contributes to a stable fit during normal movement – whether swimming or lounging.\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 find the right size for the zebra bikini if the top and bottom measurements are different?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe top and bottom can be chosen separately in different sizes. Our size calculator will help you with this – enter your height and weight to get an orientation. If in doubt, it may be advisable to choose the larger of the two possible sizes.\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 care for the zebra print bikini properly?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, then wash on a gentle cycle at 30°C. Do not tumble dry – this can affect the material and shape. Washing inside out will keep the pattern clear 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\"\u003eIs the wire-free zebra print bikini suitable for active sports at the beach and lake?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bikini is designed for relaxed swimming and beach days – it generally stays in place during normal water movement. For intense water sports or lap swimming, a special sports swimsuit would be a more suitable 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\"\u003eDoes the black and white pattern fade after several days of swimming?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe polyamide-elastane fabric is designed for use in water. To maintain the color intensity for as long as possible, it is recommended to rinse with clear water after wearing and wash on a gentle cycle at 30°C. No manufacturer can guarantee permanently unchanged color – but care plays an important role.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Klare Schwarz-Weiß-Linien des Zebra-Musters an der Wasseroberfläche\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Bikini auf heller Liege am Bodenseeufer – Muster hebt sich ruhig ab\" 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 receipt\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 stock, 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 scenarios above, the black and white zebra bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eZebra Bikini black and white\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€34.95\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 and white zebra 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\": \"Zebra Bikini schwarz weiß\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/Bild1_814b098c-8ae8-40fa-82cf-4f54c06ac7cd.png?v=1753459637\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"34.95\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"White \u0026amp; Black \/ S","offer_id":44528775594252,"sku":null,"price":34.95,"currency_code":"EUR","in_stock":true},{"title":"White \u0026amp; Black \/ M","offer_id":44528775627020,"sku":null,"price":34.95,"currency_code":"EUR","in_stock":true},{"title":"White \u0026amp; Black \/ L","offer_id":44528775659788,"sku":null,"price":34.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/Bild1_814b098c-8ae8-40fa-82cf-4f54c06ac7cd.png?v=1753459637"},{"product_id":"badeanzug-damen-einteilig-schulter-ruckenfrei","title":"black one-piece swimsuit for women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a swimsuit that stays in place all day – without you even thinking about it?\u003c\/p\u003e\u003c\/div\u003e\n\n  \n  \n  \u003ch2\u003eBlack one-piece women's swimsuit – backless and strapless for the lake and beach\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nBackless, strapless cut – for effortless freedom of movement, plain black, fabric made from 78% recycled polyamide and 22% elastane: comfortable on the skin, dry or wet.\u003c\/p\u003e\n\n\u003cp\u003eBlack isn't a choice for a particular look – it's the absence of distraction. This black one-piece women's swimsuit works with that logic: no pattern, no embellishment, no print. What remains is the form. And that cuts a calm figure on the shores of Lake Constance just as well as by the pool on holiday or in the thermal spa in the morning.\u003c\/p\u003e\n\n\u003cp\u003eThe backless cut is noticeable without being obtrusive. When you put down your towel and go into the water, there's no excess fabric, no tugging at the shoulder. The black retains its depth – even if you've spent the whole afternoon in the water. Combined with a light beach towel or a sarong, the one-piece can be worn directly from the water into the evening.\u003c\/p\u003e\n\n\u003cp\u003eThis one-piece black swimsuit is a piece that doesn't push itself into the foreground – and precisely for that reason, it goes with so much. For a quiet morning at the lake, for a holiday where you want to pack light, or as a reliable piece in your swimwear selection that works year after year.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The fabric feels similar when wet and dry – no sudden heaviness after diving in.\u003cbr\u003e• The back cut-out provides freedom of movement while swimming without shifting.\u003cbr\u003e• The plain black can be combined with almost anything – beach bag, towel, sandals.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you're not yet sure about the right size: Our size calculator helps with the estimation.\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-badeanzug\"\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_badeanzug()\"\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_badeanzug() {\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_badeanzug() {\n        const genderSelect = document.getElementById('bn_gender');\n        if (genderSelect) {\n            genderSelect.addEventListener('change', toggleGenderFields_badeanzug);\n            toggleGenderFields_badeanzug();\n        } else {\n            setTimeout(initGenderToggle_badeanzug, 100);\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initGenderToggle_badeanzug);\n    } else {\n        initGenderToggle_badeanzug();\n    }\n})();\n\nfunction calculateSize_badeanzug() {\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\": \"S\", \"waist_min\": 66.0, \"waist_max\": 96.0, \"hip_min\": 90.0, \"hip_max\": 94.0, \"bust_min\": 86.0, \"bust_max\": 90.0}, {\"name\": \"M\", \"waist_min\": 70.0, \"waist_max\": 73.0, \"hip_min\": 94.0, \"hip_max\": 98.0, \"bust_min\": 90.0, \"bust_max\": 94.0}, {\"name\": \"L\", \"waist_min\": 74.0, \"waist_max\": 77.0, \"hip_min\": 98.0, \"hip_max\": 102.0, \"bust_min\": 94.0, \"bust_max\": 98.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✔ Material: 78% Polyamide (recycled), 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: one-piece, strapless, backless\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\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 one-piece women's swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a swimsuit doesn't sit well in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eThe cut and material can help reduce the need for constant adjustment.\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\u003eThe swimsuit slips while swimming\u003c\/li\u003e\n\n\u003cli\u003eWet fabric feels heavy and uncomfortable\u003c\/li\u003e\n\n\u003cli\u003eEstimating the size online is uncertain\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou know the feeling: you get in the water, swim a few laps – and at some point, you're pulling at your shoulder or back. Or the wet fabric suddenly feels heavy, clings, tugs. It's not a drama, but it takes attention that you'd rather have elsewhere.\u003c\/p\u003e\n\n\u003cp\u003eOften this is due to a cut that isn't designed for movement in the water – or a material that changes weight when wet. The combination of elastane content and a body-hugging cut can help the suit sit more securely during movement.\u003c\/p\u003e\n\n\u003cp\u003eThis black one-piece swimsuit is made from 78% recycled polyamide and 22% elastane – designed for movement in the water without restricting. The backless cut provides room around the shoulders. If you are looking for a swimsuit with more support at the front or an integrated underwire, this cut might not be right for you – it is more intended for a calm, unstructured wearing experience.\n\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eDoes this cut suit how you wear swimwear?\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.\u003c\/strong\u003e\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→ Sits well while swimming and walking on the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Dries quickly – no unpleasant wet feeling\u003c\/li\u003e\n\n\u003cli\u003e→ Still like new after the holiday\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \n\n  \u003cdiv class=\"bn-compare\"\u003e\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Black one-piece women's swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eCut slips during swimming\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for a stable fit during movement in water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eFabric stretches due to chlorine\u003c\/td\u003e\n\n\u003ctd\u003eMaterial designed for chlorine and saltwater contact\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eDries slowly, sticks to the skin\u003c\/td\u003e\n\n\u003ctd\u003eQuick-drying material after swimming\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 considered exactly these situations with the black one-piece women's swimsuit – so you have to adjust it less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the black one-piece women's swimsuit feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you'll notice: 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\u003eSalt water, 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. Chlorine and salt don't affect the material.\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 (recycled), 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\u003eIt might be a good fit if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eswimsuit\u003c\/strong\u003e that sits securely while swimming\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003esimple cuts\u003c\/strong\u003e without unnecessary details\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort\u003c\/strong\u003e – in and out of the water\u003c\/li\u003e\n\n\u003cli\u003e→ You want to \u003cstrong\u003eavoid bad purchases\u003c\/strong\u003e with clear sizing information\u003c\/li\u003e\n\n\u003cli\u003e→ You buy \u003cstrong\u003econsciously\u003c\/strong\u003e rather than on speculation\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\u003cli\u003e\n\n\u003cstrong\u003eFeatures:\u003c\/strong\u003e Opaque, quick-drying\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eArea of use:\u003c\/strong\u003e Swimming, beach, pool - rinsing after bathing is recommended\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 the black one-piece women's swimsuit\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does the swimsuit fit during movement?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe high waist band lies flat on the hips. If in doubt, choose one size larger.\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 find the right size?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eUse the size calculator – height and weight are sufficient for an initial estimate. If in doubt, choose one size larger.\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 care for it after bathing?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, delicate wash 30 °C, do not tumble dry.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-mit-bauchweg-effekt-im-sale\"\u003eSwimsuits with tummy control effect on sale\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-die-den-bauch-kaschieren\"\u003eSwimsuits that conceal the tummy\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eWomen's Swimsuit\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=\"Badeanzug Damen figurformend\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"einteiliger Badeanzug hoher Ausschnitt\" 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 receipt\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce to order – this reduces overproduction and stock, 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 according to 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 scenarios above, the black one-piece women's swimsuit could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eblack one-piece women's swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€34.92\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 one-piece women's swimsuit 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: 2026-05-16\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 Badeanzug Damen einteilig\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/WhatsAppBild2023-07-19um07.48.08.jpg?v=1753458742\", \"category\": \"badeanzug\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"34.92\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Ebony black \/ S","offer_id":44528776511756,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ M","offer_id":44528776544524,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ L","offer_id":44528776577292,"sku":null,"price":34.92,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/WhatsAppBild2023-07-19um07.48.08.jpg?v=1753458742"},{"product_id":"badeanzug-damen-einfarbig","title":"Women's Black Swimsuit","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a black swimsuit feel calm all day long?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that feeling when a swimsuit just fits – while swimming, standing up, walking along the beach.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eOver the course of a day at the beach, you often notice the difference – not when you first put it on, but by the third time you enter the water.\u003c\/p\u003e\n\n  \u003ch2\u003eBlack Swimsuit for Women – simply cut for lakes, pools, and beaches\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nA solid black one-piece – designed for a calm fit during movement in the water, in a cut that doesn't stand out but supports. The fabric, made of 78% recycled polyamide and 22% elastane, feels soft against the skin without constricting.\u003c\/p\u003e\n\n\u003cp\u003eIn swimwear, black is not a compromise – it's a statement. This swimsuit thrives on what it omits: no pattern, no logo, no frills. What remains is a calm silhouette that works just as well on the shores of Lake Constance as it does on the Mediterranean. The color absorbs light instead of reflecting it – giving the piece a tranquil, almost timeless quality.\u003c\/p\u003e\n\n\u003cp\u003eThe plain black swimsuit is easy to combine: with a light linen cover-up on the way from the water to the sun lounger, with wide denim shorts for a stroll along the shore, or on its own – when you simply want to get into the water without overthinking it. The black lasts for seasons. It doesn't fade in spirit, even with much wear.\u003c\/p\u003e\n\n\u003cp\u003eThree moments where this piece goes along: You are the first to step into the quiet water in the morning – the fabric feels cool and light, nothing pulls, nothing slips. You lie on the sun lounger, read, doze, stand up again – without having to adjust once. In the evening, during the last swim before heading home, it still fits just as it did at the beginning.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The fabric lies smoothly when entering the water – no flapping, no billowing.\u003cbr\u003e• The black gives it a calm feel – you wear it without it overpowering you.\u003cbr\u003e• After swimming: no uncomfortable stickiness, the fabric releases water well.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, choose your size now – the size calculator below will help you.\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-badeanzug\"\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 (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_badeanzug()\"\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_badeanzug() {\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_badeanzug() {\n        const genderSelect = document.getElementById('bn_gender');\n        if (genderSelect) {\n            genderSelect.addEventListener('change', toggleGenderFields_badeanzug);\n            toggleGenderFields_badeanzug();\n        } else {\n            setTimeout(initGenderToggle_badeanzug, 100);\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initGenderToggle_badeanzug);\n    } else {\n        initGenderToggle_badeanzug();\n    }\n})();\n\nfunction calculateSize_badeanzug() {\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\": \"S\", \"waist_min\": 78.0, \"waist_max\": 84.0, \"hip_min\": 90.0, \"hip_max\": 96.0, \"bust_min\": 83.0, \"bust_max\": 89.0}, {\"name\": \"M\", \"waist_min\": 83.0, \"waist_max\": 89.0, \"hip_min\": 96.0, \"hip_max\": 102.0, \"bust_min\": 88.0, \"bust_max\": 94.0}, {\"name\": \"L\", \"waist_min\": 88.0, \"waist_max\": 94.0, \"hip_min\": 101.0, \"hip_max\": 107.0, \"bust_min\": 93.0, \"bust_max\": 99.0}, {\"name\": \"XL\", \"waist_min\": 96.0, \"waist_max\": 102.0, \"hip_min\": 108.0, \"hip_max\": 114.0, \"bust_min\": 101.0, \"bust_max\": 107.0}, {\"name\": \"2XL\", \"waist_min\": 103.0, \"waist_max\": 109.0, \"hip_min\": 116.0, \"hip_max\": 122.0, \"bust_min\": 108.0, \"bust_max\": 114.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✔ Material: 78% Polyamide (recycled), 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Color: Black, solid (plain)\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\u003c\/div\u003e\n\n\n  \u003cp class=\"bn-mini-cta\"\u003eWhen cut and size fit you, a black women's swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a swimsuit fits restlessly in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA calm cut that moves with you – without constant adjustment.\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\u003eThe swimsuit slips after the first jump into the water\u003c\/li\u003e\n\n\u003cli\u003eWet fabric clings to the skin and feels unpleasantly tight\u003c\/li\u003e\n\n\u003cli\u003eSizes ordered online for swimwear rarely fit as expected\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany know this: You go for a swim, and after a few strokes or a jump from the pier, you already have to adjust it again. At the neckline, on the back, at the straps. That takes something away from the day at the beach – not dramatically, but it's there.\u003c\/p\u003e\n\n\u003cp\u003eThe reason often lies in the cut: swimsuits that look good when standing are not always designed for movement in the water. The material gives way, the cut doesn't follow. This is particularly noticeable during more intense swimming or when getting out of the water.\u003c\/p\u003e\n\n\u003cp\u003eThis black swimsuit is designed for a calm fit during movement – due to the elastane content, which largely maintains its shape even with repeated stress. The polyamide fabric lies smoothly without constricting. If you swim leisurely laps, lie by the lake, or occasionally go into the water, this could be a good fit. For daily intensive swimming sessions or competitive water sports, there are more specialized options – that should be openly stated here.\n\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes a calm, plain cut without much fuss suit you – or are you looking for something with more texture or pattern?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate the cut \u0026amp; size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eIf in doubt: 30-day returns, clear care instructions, transparent materials – to make the decision easy.\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→ Sits calmly while swimming and walking on the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Solid black – maintains its color even after several vacations\u003c\/li\u003e\n\n\u003cli\u003e→ From the water directly to the sun lounger – without adjusting or pulling\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 helps you decide\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Plain black cut – timelessly combinable, no seasonal design\u003c\/li\u003e\n\n\u003cli\u003e✅ 78% recycled polyamide with elastane – designed for a calm fit under normal use\u003c\/li\u003e\n\n\u003cli\u003e✅ Delicate wash 30 °C – uncomplicated everyday care\u003c\/li\u003e\n\n\u003cli\u003e✅ Discreet design – suits calm, understated swimwear\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ For daily intensive swimming sessions or competitive water sports, there are more suitable specialized swimsuits\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those looking for striking patterns, prints, or vibrant colors will not find them here\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 for similar ones\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Black women's swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eCut slips when swimming or getting out of the water\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for a calm fit during movement – elastane content largely maintains its shape under normal stress\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eFabric clings unpleasantly to the skin after swimming\u003c\/td\u003e\n\n\u003ctd\u003ePolyamide fabric releases water well after wear\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eDesign looks worn out or too fashionable after one season\u003c\/td\u003e\n\n\u003ctd\u003eSolid black – no pattern that goes out of style, no print that fades\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline swimwear sizes are difficult to estimate\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator + 30-day return – risk-free decision\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 have considered exactly these situations with the black women's swimsuit – 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 the black women's swimsuit 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 keeps 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. Chlorine and salt don't harm the material.\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 (recycled), 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\u003eCould be a good fit if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eswimsuit\u003c\/strong\u003e that sits securely while swimming\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003esimple cuts\u003c\/strong\u003e without unnecessary details\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort\u003c\/strong\u003e – in and out of the water\u003c\/li\u003e\n\n\u003cli\u003e→ You want to \u003cstrong\u003eavoid bad purchases\u003c\/strong\u003e with clear size indications\u003c\/li\u003e\n\n\u003cli\u003e→ You buy \u003cstrong\u003econsciously\u003c\/strong\u003e rather than on speculation\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\u003cli\u003e\n\n\u003cstrong\u003eFeatures:\u003c\/strong\u003e Opaque, quick-drying\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eArea of Use:\u003c\/strong\u003e Swimming, beach, pool – rinsing after bathing is recommended\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 Women's Swimsuits\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does a simple black swimsuit fit during 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 swimsuit is designed for a calm fit during everyday movement in the water – the elastane content ensures that the cut largely moves with you under normal stress. For very intensive daily swimming sessions, specialized sports swimsuits are more suitable.\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 find the right size when buying swimwear online?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator helps you estimate the right size based on your height and weight. If in doubt, we recommend choosing one size larger – and if it doesn't fit, our 30-day return policy applies.\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 care for a black swimsuit after wearing it?\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, lukewarm water. Wash at 30 °C on a delicate cycle, do not tumble dry. This helps to maintain color and shape 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\"\u003eIs this plain black swimsuit suitable for the beach and pool?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the cut and material are designed for use at the beach, lake, and pool during normal leisure activities. The polyamide fabric releases water well after swimming.\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\"\u003eWhat is the black swimsuit made of – and is the material sustainably produced?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe swimsuit is made of 78% recycled polyamide and 22% elastane. Recycled polyamide means that the raw material was obtained from already used material – a step towards more conscious production.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eWomen's Swimsuit\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-der-zeitlose-klassiker-fur-jeden-anlass\"\u003eBlack Swimsuit: The Timeless Classic for Every Occasion\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-damen\"\u003eBlack Women's Swimsuit\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=\"Schwarzer Einteiler am Bodenseeufer – stilles Wasser, klare Silhouette\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Nahaufnahme Stoff nass – glatt anliegend, kein Bauschen\" 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 excess stock, 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 checked 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 scenarios above, the black women's swimsuit could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eBlack Women's Swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€29.94\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 women's swimsuit 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: 2026-05-16\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 Badeanzug Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/Bild1_7bb5245c-3a65-4706-9703-7e432ee2d1db.png?v=1753459380\", \"category\": \"badeanzug\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"29.94\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Ebony black \/ S","offer_id":44528777101580,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ M","offer_id":44528777134348,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ L","offer_id":44528777167116,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ XL","offer_id":44529135321356,"sku":"","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"Dark purple \/ S","offer_id":44528777199884,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Dark purple \/ M","offer_id":44528777232652,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Dark purple \/ L","offer_id":44528777265420,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Dark purple \/ XL","offer_id":44529135386892,"sku":"","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"Navy blue \/ S","offer_id":44528777298188,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ M","offer_id":44528777330956,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ L","offer_id":44528777363724,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ XL","offer_id":44529135419660,"sku":"","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"Pink \/ S","offer_id":44528777396492,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ M","offer_id":44528777429260,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ L","offer_id":44528777462028,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ XL","offer_id":44529135452428,"sku":"","price":29.94,"currency_code":"EUR","in_stock":false},{"title":"Turquoise \/ S","offer_id":44528777494796,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Turquoise \/ M","offer_id":44528777527564,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Turquoise \/ L","offer_id":44528777560332,"sku":null,"price":29.94,"currency_code":"EUR","in_stock":true},{"title":"Turquoise \/ XL","offer_id":44529135485196,"sku":"","price":29.94,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/Bild1_7bb5245c-3a65-4706-9703-7e432ee2d1db.png?v=1753459380"},{"product_id":"high-waist-angelina-bikini-set","title":"Women's Ethnic Pattern Bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that stays in place at the beach – all day long?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that calm feeling when a bikini fits without you having to constantly think about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd usually, you only notice that throughout the day – when standing up, going into the water, or lying down on your towel.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's High-Waisted Bikini with Ethnic Pattern – for Beach and Lake\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nHigh waistband for more security – with an ethnic pattern of geometric shapes and subtle golden accents that appears understated without disappearing. Fabric made of 78% polyamide and 22% elastane, pleasantly stretchy and close-fitting.\u003c\/p\u003e\n\n\u003cp\u003eThe pattern is not a loud print. The geometric shapes and mask elements have a calming, almost timeless quality – they evoke textiles designed somewhere far away, yet function perfectly uncomplicatedly on the shores of Lake Constance. The golden accents create contrasts without being conspicuous. For those who appreciate reduced style but don't want purely plain swimwear, this offers a middle ground.\u003c\/p\u003e\n\n\u003cp\u003eOn the shore, on the towel, during a stroll through the market – the ethnic pattern can be easily combined with a linen sarong or a simple wrap skirt without clashing. The color scheme remains neutral enough to suit many skin tones. Those who prefer bold neon prints or very playful designs will probably not find what they are looking for here – this bikini is more aimed at those who like a subtle statement.\u003c\/p\u003e\n\n\u003cp\u003eWhen you first put it on in the morning at the holiday home – the fabric lies smoothly, the high waistband fits without digging in. When you go into the water, the bottom stays put, and the top provides support without restriction. When drying on the sun lounger afterward: no visible stretch marks, no shifted seams.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The high waistband sits similarly when getting out of the water as when lying down – it generally doesn't slip.\u003cbr\u003e• The ethnic pattern looks different in photos by the lake than on screen – calmer, warmer, less dominant.\u003cbr\u003e• If you're looking for swimwear that doesn't have to feel like a fashion statement, you can feel comfortable here.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you want to know which size fits, our size calculator can help.\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 (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\", \"waist_min\": 104.1, \"waist_max\": 126.6, \"hip_min\": 81.0, \"hip_max\": 86.0, \"bust_min\": 76.0, \"bust_max\": 81.0, \"height_min\": 27.0, \"height_max\": 37.0}, {\"name\": \"S\", \"waist_min\": 114.6, \"waist_max\": 137.1, \"hip_min\": 86.0, \"hip_max\": 91.0, \"bust_min\": 81.0, \"bust_max\": 86.0, \"height_min\": 29.0, \"height_max\": 39.0}, {\"name\": \"M\", \"waist_min\": 61.0, \"waist_max\": 66.0, \"hip_min\": 91.0, \"hip_max\": 97.0, \"bust_min\": 86.0, \"bust_max\": 91.0, \"height_min\": 33.0, \"height_max\": 43.0}, {\"name\": \"L\", \"waist_min\": 66.0, \"waist_max\": 71.0, \"hip_min\": 97.0, \"hip_max\": 102.0, \"bust_min\": 91.0, \"bust_max\": 97.0, \"height_min\": 37.0, \"height_max\": 47.0}, {\"name\": \"XL\", \"waist_min\": 71.0, \"waist_max\": 76.0, \"hip_min\": 102.0, \"hip_max\": 107.0, \"bust_min\": 97.0, \"bust_max\": 102.0, \"height_min\": 41.0, \"height_max\": 51.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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30°C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Ethnic pattern with geometric shapes and golden accents, high waistband\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\u003c\/div\u003e\n\n\n  \u003cp class=\"bn-mini-cta\"\u003eWhen the cut and size are right for you, the women's ethnic pattern bikini can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini starts to slip in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit and cut – what you only notice on the second day of swimming.\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\u003eThe top doesn't stay securely in place when swimming\u003c\/li\u003e\n\n\u003cli\u003eThe waistband digs into your stomach after an hour\u003c\/li\u003e\n\n\u003cli\u003eIt's hard to estimate bikini sizes online\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eSome bikinis fit well when you try them on – and then start to slip in the water. The top shifts when diving, the bottom needs adjusting after every jump. This is barely noticeable on the beach. In the water, it is.\u003c\/p\u003e\n\n\u003cp\u003eThis is often because the cut and material composition are not designed for movement in the water. The elastane content, seam construction, and waistband shape determine how a bikini reacts to movement – not just how it looks.\u003c\/p\u003e\n\n\u003cp\u003eThis bikini is designed with a high waistband and 22% elastane for a more stable fit during movement – for the beach, lake, and calmer swimming. If you engage in intensive water sports or plan very active swimming, functional sports swimwear might be a better choice. For relaxed days at the lake or beach, this cut can be a suitable option.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDo you prefer a bikini primarily designed for relaxed swimming days – or are you looking for something that can handle more intense movement?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you assess the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eIf you are unsure, you can choose the top and bottom separately in different sizes.\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→ Sits similarly when getting out of the water as when lying down\u003c\/li\u003e\n\n\u003cli\u003e→ Ethnic pattern appears calmer and warmer on the beach than on screen\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ High waistband – designed for a more stable fit during normal movement\u003c\/li\u003e\n\n\u003cli\u003e✅ Ethnic pattern with golden accents – calm, not conspicuous\u003c\/li\u003e\n\n\u003cli\u003e✅ 78% Polyamide, 22% Elastane – stretchy and close-fitting\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be chosen separately – individual size adjustment possible\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intensive water sports or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not ideal if bold or playful prints are preferred\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not a classic plain look – for those seeking a clear, solid design\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\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 for similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Ethnic Pattern 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\u003eCut designed for a more stable fit during normal movement in the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eWaistband digs in or rolls down\u003c\/td\u003e\n\n\u003ctd\u003eHigh waistband with elastane content – generally stays put 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\u003eSize calculator available, top and bottom can be chosen separately\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks louder in real life than expected\u003c\/td\u003e\n\n\u003ctd\u003eEthnic pattern in a subtle color spectrum – discreet, not a dominant print\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 have considered precisely these situations with the women's ethnic pattern bikini – so you have to adjust it less often when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the Women's Ethnic Pattern Bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you notice: 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 to dry, 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 fit well if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003ewomen's ethnic pattern 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 Women's Ethnic Pattern Bikini\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 women's high-waisted bikini with an ethnic pattern?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSince the top and bottom can be chosen separately, the size can be individually adjusted. Our size calculator helps you estimate based on your height and weight. If unsure, we recommend choosing one size larger – especially for the high-waisted bottom.\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 waistband fit when moving 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 waistband is designed for a more stable fit during normal movement – it generally stays put when walking, lying down, and swimming calmly. This cut is less suitable for intensive water sports or competitive swimming.\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 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 at 30°C on a delicate cycle. Do not tumble dry – this can permanently impair the elasticity of the elastane content.\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 the golden accents in the ethnic pattern look in the sun?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe golden accents are subtly incorporated and emphasize the geometric shapes of the pattern without being dominant. In direct sunlight, the pattern may appear somewhat warmer and more contrasting than in product images.\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 this bikini less suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThose who prefer bold neon prints or very playful patterns will not find what they are looking for here. This bikini is also not designed for intensive water sports or competitive swimming – for these activities, cuts from functional sports swimwear are recommended.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Geometrische Formen des Musters im Sonnenlicht am Wasser\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Hoher Hüftbund von vorne – Sitz und Schnitt erkennbar\" 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 stock, 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 checked 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 scenarios above, the women's ethnic pattern 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\"\u003eWomen's Ethnic Pattern Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€28.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 women's ethnic pattern 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\": \"Bikini ethnisches Muster Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/1619849020834.jpg?v=1753458249\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"28.99\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Blue S","offer_id":45166027079948,"sku":"CJNSSYTZ00271-Blue S","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Blue M","offer_id":45166027047180,"sku":"CJNSSYTZ00271-Blue M","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Blue L","offer_id":45166027014412,"sku":"CJNSSYTZ00271-Blue L","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Blue XL","offer_id":45166027112716,"sku":"CJNSSYTZ00271-Blue XL","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Green S","offer_id":45166027211020,"sku":"CJNSSYTZ00271-Green S","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Green M","offer_id":45166027178252,"sku":"CJNSSYTZ00271-Green M","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Green L","offer_id":45166027145484,"sku":"CJNSSYTZ00271-Green L","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Green XL","offer_id":45166027243788,"sku":"CJNSSYTZ00271-Green XL","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Purple S","offer_id":45166027342092,"sku":"CJNSSYTZ00271-Purple S","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Purple M","offer_id":45166027309324,"sku":"CJNSSYTZ00271-Purple M","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Purple L","offer_id":45166027276556,"sku":"CJNSSYTZ00271-Purple L","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Purple XL","offer_id":45166027374860,"sku":"CJNSSYTZ00271-Purple XL","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Red S","offer_id":45166027473164,"sku":"CJNSSYTZ00271-Red S","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Red M","offer_id":45166027440396,"sku":"CJNSSYTZ00271-Red M","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Red L","offer_id":45166027407628,"sku":"CJNSSYTZ00271-Red L","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Red XL","offer_id":45166027505932,"sku":"CJNSSYTZ00271-Red XL","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Pink S","offer_id":45166027604236,"sku":"CJNSSYTZ00271-Rose Red S","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Pink M","offer_id":45166027571468,"sku":"CJNSSYTZ00271-Rose Red M","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Pink L","offer_id":45166027538700,"sku":"CJNSSYTZ00271-Rose Red L","price":28.99,"currency_code":"EUR","in_stock":true},{"title":"Pink XL","offer_id":45166027637004,"sku":"CJNSSYTZ00271-Rose Red XL","price":28.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/1619849020834.jpg?v=1753458249"},{"product_id":"bikini-patchwork","title":"black and white colorblock bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that fits just as well by Lake Constance as it does after an hour in the water?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that calm feeling when a bikini just stays put – no constant adjusting, no second-guessing.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd it's precisely over the course of a day at the beach that you notice the difference – not when you first put it on, but when you get out of the water.\u003c\/p\u003e\n\n  \u003ch2\u003eColorblock Bikini for Women – Black and White for Lake, Beach, and Pool\u003c\/h2\u003e\n\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nClean color blocks in black and white – a minimalist design that eschews patterns and stands out precisely because of it. The fabric, made from 78% polyamide and 22% elastane, fits snugly without constricting – whether dry or wet.\u003c\/p\u003e\n\n\n\u003cp\u003eThe black and white color block isn't a seasonal trend. It's an attitude: clear, calm, without needing to persuade. On the shores of Lake Constance, where the light glides over the water and the mood is more tranquil than loud, such a design simply fits – it doesn't compete with its surroundings; it carves out space without demanding it. The contrast between black and white appears sharp and pleasantly striking in the sunlight.\u003c\/p\u003e\n\n\n\u003cp\u003eWhether sitting on a pier, walking on sand, or stepping into the cool water – the design remains true to itself. No surprises. The clear line between the colors is positioned to structure the body without emphasizing or hiding it. For those who appreciate subtle patterns and generally steer clear of graphic prints, this offers a consistent alternative. The color combination pairs equally well with a white linen wrap or a black beach bag – it doesn't need accessorizing, but it can handle it.\u003c\/p\u003e\n\n\n\u003cp\u003eThis colorblock bikini for women is suitable for a long day at the lake, as well as for a resort pool or a beach excursion – anywhere you don't want to overthink things but still want to be well-dressed. It's not a statement piece, but it's not an average piece either. It's what you wear when you've already made up your mind.\u003c\/p\u003e\n\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The first glance in the mirror: clear, calm, without distraction – the design needs nothing extra.\u003cbr\u003e• Standing up in the water and realizing nothing has shifted – fabric and cut stay where they should.\u003cbr\u003e• In the evening, when you throw on a wrap: black and white just go with it, without planning.\u003c\/p\u003e\n\n\n\u003cp\u003e\u003cstrong\u003eIf you like, choose your size above – top and bottom can be selected separately.\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 (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\": \"S\", \"hip_min\": 86.0, \"hip_max\": 91.0, \"height_min\": 32.0, \"height_max\": 34.0}, {\"name\": \"M\", \"hip_min\": 91.0, \"hip_max\": 96.0, \"height_min\": 34.0, \"height_max\": 36.0}, {\"name\": \"L\", \"hip_min\": 96.0, \"hip_max\": 101.0, \"height_min\": 36.0, \"height_max\": 38.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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ 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 fit you, a black and white colorblock bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini doesn't stay put in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA colorblock set designed for a secure fit during movement.\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\u003eThe top slips when swimming, and you're constantly adjusting it\u003c\/li\u003e\n\n\u003cli\u003eThe waistband digs in after an hour and feels uncomfortable when wet\u003c\/li\u003e\n\n\u003cli\u003eEstimating bikini sizes online is particularly difficult\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou know the feeling: You dive in, turn around, get out of the water – and your bikini has moved with you, but not in the way you wanted. The top isn't quite right, the waistband has shifted a bit. Nothing dramatic, but it takes away some of the day's peace.\u003c\/p\u003e\n\n\n\u003cp\u003eThis is often due to a combination of cut, material composition, and elasticity. Too little elastane will stretch without returning to its original shape. A waistband designed for standing still will react differently when you bend over or swim. This isn't a question of overall quality, but of specific design.\u003c\/p\u003e\n\n\n\u003cp\u003eWith 22% elastane, this bikini is designed for a fit that generally stays put during normal movement in the water – swimming, diving, getting out. The top and bottom can be chosen separately, which simplifies size adjustment. However, if you plan very intense water sports like surfing or diving, a sport-cut swimsuit with a back zipper might be a more suitable choice.\u003c\/p\u003e\n\n\n\u003cp\u003e\u003cstrong\u003eHow much movement do you plan in the water – rather calm swimming and splashing, or intense activities?\u003c\/strong\u003e\u003c\/p\u003e\n\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate the cut and size – simply enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\n\u003cp\u003eChoose your top and bottom in your size above – separately, without being forced into a set.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Stays put even after an hour in the water\u003c\/li\u003e\n\n\u003cli\u003e→ Clean design that can be combined with many things\u003c\/li\u003e\n\n\u003cli\u003e→ Top and bottom separate – finally the right size for both pieces\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✅ Clear black and white design – timelessly combinable, no seasonal patterns\u003c\/li\u003e\n\n\u003cli\u003e✅ 78% polyamide, 22% elastane – designed for freedom of movement under normal conditions\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be selected separately – individual size adjustment possible\u003c\/li\u003e\n\n\u003cli\u003e✅ Delicate wash 30 °C – easy to care for with proper handling\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ For intense water sports (e.g., surfing, diving), a sports swimsuit with a back zipper is generally more suitable\u003c\/li\u003e\n\n\u003cli\u003e⚠️ If you prefer colorful patterns or floral prints, you won't find a printed design here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No documented information on chlorine or saltwater resistance – follow care instructions\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\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Black and white colorblock 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 a stable fit during normal movement in the water – thanks to 22% elastane content\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBikini sizes difficult to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom can be selected separately – size calculator with height and weight available\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eColors fade after one season\u003c\/td\u003e\n\n\u003ctd\u003ePolyamide-elastane mix – with proper care (delicate wash 30 °C, no tumble dryer) the shape is generally retained\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eWaistband digs in after prolonged wear\u003c\/td\u003e\n\n\u003ctd\u003eElastic waistband can adapt to movement – no rigid band\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 thought about precisely such situations with the black and white colorblock bikini – so you have to adjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the black and white colorblock 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\u003eAt 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\u003eCould be a good fit if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You're looking for a \u003cstrong\u003eblack and white colorblock 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 ostentatious\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 mispurchases\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 the black and white colorblock bikini\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 the black and white colorblock bikini for women?\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 fits, we recommend choosing both pieces separately. Our size calculator will help you with this – simply enter your height and weight. If you are uncertain between two sizes, it may be useful to decide the top based on bust measurement and the bottom based on hip measurement.\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 waistband of this bikini fit when moving in the water?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe fabric contains 22% elastane, which can help the top and bottom stay put during normal movement – swimming, diving, getting out. For very intense water sports, a sport-cut swimsuit is generally the more suitable 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\"\u003eHow do I properly care for this 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 at 30 °C on a delicate cycle. Do not tumble dry – drying flat in the air will preserve its shape and material 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\"\u003eIs this bikini also suitable for women with small busts?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSince the top and bottom can be selected separately, the bikini can be individually adjusted. You can find which top cut best suits which bust size in our bikini size guide.\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\"\u003eWhat distinguishes this simple black and white bikini from other models?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe black and white colorblock design is timeless and season-neutral. The 22% elastane content is designed for a movement-friendly fit. The special feature: top and bottom can be ordered separately – this allows for a more precise size selection than with a set.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Clear horizontal or vertical colorblock line between black and white in the sunlight on the shore of Lake Constance\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Wearer gets out of the water – bikini still fits exactly as when getting in\" 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 receipt\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce to order – this reduces overproduction and inventory 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 checked according to 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 find yourself in the scenarios above, the black and white colorblock bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eBlack and white colorblock bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€29.95\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 and white colorblock 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\": \"schwarz weißer Colorblock Bikini\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/6ad065fe-158e-46ec-9fe5-3cdd4c01bd87.jpg?v=1753456471\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"29.95\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Ebony black \/ L","offer_id":45166067056908,"sku":"CJBJ144124025YB","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ M","offer_id":45166067089676,"sku":"CJBJ144124026ZA","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ S","offer_id":45166067122444,"sku":"CJBJ144124027AZ","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ L","offer_id":45166067155212,"sku":"CJBJ144124007GT","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ M","offer_id":45166067187980,"sku":"CJBJ144124006FU","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ S","offer_id":45166067220748,"sku":"CJBJ144124005EV","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Coffee brown \/ L","offer_id":45166067253516,"sku":"CJBJ144124003CX","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Coffee brown \/ M","offer_id":45166067286284,"sku":"CJBJ144124002BY","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Coffee brown \/ S","offer_id":45166067319052,"sku":"CJBJ144124001AZ","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ L","offer_id":45166067351820,"sku":"CJBJ144124029CX","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ M","offer_id":45166067384588,"sku":"CJBJ144124030DW","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ S","offer_id":45166067417356,"sku":"CJBJ144124031EV","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Lagoon Green \/ L","offer_id":45166067450124,"sku":"CJBJ144124021UF","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Lagoon Green \/ M","offer_id":45166067482892,"sku":"CJBJ144124022VE","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Lagoon Green \/ S","offer_id":45166067515660,"sku":"CJBJ144124023WD","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Grass green \/ L","offer_id":45166067548428,"sku":"CJBJ144124015OL","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Grass green \/ M","offer_id":45166067581196,"sku":"CJBJ144124014NM","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Grass green \/ S","offer_id":45166067613964,"sku":"CJBJ144124013MN","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Mahogany color \/ L","offer_id":45166067646732,"sku":"CJBJ144124017QJ","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Mahogany color \/ M","offer_id":45166067679500,"sku":"CJBJ144124018RI","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Mahogany color \/ S","offer_id":45166067712268,"sku":"CJBJ144124019SH","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Rose red \/ L","offer_id":45166067745036,"sku":"CJBJ144124011KP","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Rose red \/ M","offer_id":45166067777804,"sku":"CJBJ144124010JQ","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Rose red \/ S","offer_id":45166067810572,"sku":"CJBJ144124009IR","price":29.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/6ad065fe-158e-46ec-9fe5-3cdd4c01bd87.jpg?v=1753456471"},{"product_id":"bikini-damen-flora-hoher-huftbund","title":"Women's Tropical Print Bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini stay put even after a long day at the beach?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that relaxed feeling when a bikini just goes with the flow – while swimming, sitting down, or walking along the shore.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eMany don't notice the difference immediately, but only later in the day – when nothing needs to be adjusted.\u003c\/p\u003e\n\n  \u003ch2\u003eTropical Print Bikini for Women with High Waist – for Beach and Lake\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nHigh waist for a more secure fit during movement – tropical leaf and flower pattern that looks subtly summery without being intrusive.\u003c\/p\u003e\n\n\u003cp\u003eThe pattern features leaves and flowers in calm tones – like those seen on the shore of a serene lake when light and shadow fall through the greenery. The print is present yet understated: not a loud vacation motif, but a tranquil image that still looks harmonious even after many hours by the water.\u003c\/p\u003e\n\n\u003cp\u003eOn the beach, when first entering the water, the pattern appears different in the light than it does in the changing room. The blossoms and leaves look soft and organic – not a geometric pattern that appears outdated after just a few weeks. The high waistband creates a clear line that structures the look without dominating it. If you combine the bikini with a light linen shirt, you can also wear it from the water to the beach cafe without changing.\u003c\/p\u003e\n\n\u003cp\u003eAs a companion for relaxed days by the lake, for vacation weeks by the sea, or for a spontaneous swim after work – this tropical print bikini for women is designed for situations where you don't want to constantly think about your bikini. It also works well as a gift: the pattern is personal enough not to seem generic, and open enough to suit many tastes.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• You sit on your towel, stand up, go into the water – and the waistband stays where it was.\u003cbr\u003e• The pattern looks different in the morning by the pool than in the afternoon against the light – both times tranquil.\u003cbr\u003e• Someone asks if the bikini is new – even though you've been wearing it all week.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, select your size above – S, M, L, or XL are available.\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 (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\": \"S\", \"hip_min\": 90.0, \"hip_max\": 96.0}, {\"name\": \"M\", \"hip_min\": 96.0, \"hip_max\": 102.0}, {\"name\": \"L\", \"hip_min\": 102.0, \"hip_max\": 108.0}, {\"name\": \"XL\", \"hip_min\": 108.0, \"hip_max\": 114.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: Bikini set with high waist\u003c\/li\u003e\n\n\u003cli\u003e✔ Pattern: Tropical leaf and flower pattern\u003c\/li\u003e\n\n\u003cli\u003e✔ Available sizes: S, M, L, XL\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 tropical print bikini for women can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen fit and comfort in the water are not a given\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eHigh waist, tropical pattern – designed for days when you just want to be present.\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\u003eWaistband digs in uncomfortably after a short time\u003c\/li\u003e\n\n\u003cli\u003eTop slips while swimming or moving\u003c\/li\u003e\n\n\u003cli\u003eSize is difficult to estimate online\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou lie by the lake, stand up, go into the water – and only then realize that the waistband is digging in or the top no longer fits. This is not an exception, but something many people know: bikinis that look good in the changing room but require more attention than desired in everyday use by the water.\u003c\/p\u003e\n\n\u003cp\u003eMost of the time, it's due to the cut: a waistband designed for standing still reacts differently to movement. A top that is not adapted to the body will shift with every movement. This is not solely a question of quality, but of the fit in that specific moment.\u003c\/p\u003e\n\n\u003cp\u003eThis bikini is designed for a stable fit during normal movement – i.e., walking, sitting, calm swimming. The high waist can help the bottom stay put, even when moving. It is not designed for intense water sports or competitive swimming – if you're looking for that, a sports swimsuit is probably a better choice. If you like subtle swimwear for relaxed days at the lake or beach, this cut might be suitable.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes the high waistband suit your body shape and your way of spending the day by 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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eAvailable sizes: S, M, L, XL – top and bottom can be chosen separately if needed.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Stays put calmly after a long day at the beach – no adjusting\u003c\/li\u003e\n\n\u003cli\u003e→ Pattern looks especially beautiful in the backlight by the water\u003c\/li\u003e\n\n\u003cli\u003e→ High waistband generally stays in place while swimming\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 a more secure fit during movement\u003c\/li\u003e\n\n\u003cli\u003e✅ Subtle tropical pattern – summery without being intrusive\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be selected separately in S, M, L, XL\u003c\/li\u003e\n\n\u003cli\u003e✅ Designed for relaxed days at the lake, pool, or beach\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not designed for competitive swimming or intense water sports\u003c\/li\u003e\n\n\u003cli\u003e⚠️ If you are looking for very sporty swimwear, a sports swimsuit is a better choice\u003c\/li\u003e\n\n\u003cli\u003e⚠️ If you prefer clear, patterned styles, you might find the pattern too subtle\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 of similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ tropical print bikini for women\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips while swimming and constantly needs adjusting\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for a stable fit during normal movement in the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eWaistband digs in after a short time or shifts with movement\u003c\/td\u003e\n\n\u003ctd\u003eHigh waist for a more secure fit – even when walking and sitting down\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline sizing for bikinis is difficult to estimate\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom can be selected 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 looks outdated after one season\u003c\/td\u003e\n\n\u003ctd\u003eCalm leaf-flower motif – subtle enough for several summers\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 considered precisely such situations with the tropical print bikini for women – so you have to adjust it less while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the tropical print bikini for women 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\u003eAt 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 – observe 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  \u003cdiv class=\"bn-material\"\u003e\n\n  \u003ch3\u003eCare \u0026amp; Material\u003c\/h3\u003e\n\n  \u003cdiv\u003e• Material: 30 seconds\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 fit well if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003etropical print bikini for women\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 intrusive\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\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently asked questions about the tropical print bikini for women\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 high-waisted bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator helps you estimate a suitable size based on your height and weight. If you are unsure between two sizes, we generally recommend choosing the larger option – especially for the high-waisted bottom. Available sizes are S, M, L, and XL.\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 while swimming and moving?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe high waist is designed for a more secure fit during normal movement – i.e., walking, sitting, and calm swimming. For very dynamic water activities, the fit may vary. A general guide: for a relaxed day at the lake or pool, it usually stays stable.\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\"\u003eWhat activities is this tropical print bikini for women 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 designed for relaxed days at the beach, lake, or pool – i.e., swimming, sunbathing, walking by the water. It is not designed for competitive swimming or intense water sports; a sports swimsuit would be a more suitable choice for that.\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 a tropical print 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 – lay flat to air dry. This will help maintain its shape and pattern 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 choose 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, the top and bottom can be chosen separately in sizes S, M, L, and XL. This can be useful if your upper and lower body have different sizes. The size calculator provides a guide for both pieces.\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\"\u003eIs the bikini's pattern timeless or very trend-dependent?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe tropical leaf and flower pattern is deliberately kept calm – no bright colors or strongly trend-dependent graphics. It is designed to look harmonious for summers to come, if you prefer subtle swimwear.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-related-articles\"\u003e\n\n  \u003ch3\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Tropical leaf and flower pattern in the sunlight by the water\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"High waistband that stays put when standing up from the towel\" 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 to order – this reduces overproduction and inventory for printed items!\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 according to 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 scenarios above, the tropical print bikini for women might be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eTropical Print Bikini for Women\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€34.95\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 tropical print bikini for women 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\": \"tropischer Print Bikini Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/2496416977496.jpg?v=1771873495\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"34.95\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Green palm \/ L","offer_id":45166089863436,"sku":"CJYDYYBJ00564-Green pattern-L","price":34.95,"currency_code":"EUR","in_stock":true},{"title":"Green palm \/ M","offer_id":45166089896204,"sku":"CJYDYYBJ00564-Green pattern-M","price":34.95,"currency_code":"EUR","in_stock":true},{"title":"Green palm \/ S","offer_id":45166089928972,"sku":"CJYDYYBJ00564-Green pattern-S","price":34.95,"currency_code":"EUR","in_stock":true},{"title":"Green palm \/ XL","offer_id":45166089961740,"sku":"CJYDYYBJ00564-Green pattern-XL","price":34.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/2496416977496.jpg?v=1771873495"},{"product_id":"bikini-hot-style","title":"Black Bikini Neon","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a black bikini that stays put at the beach – and also stays secure while swimming?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that feeling when a bikini just goes with the flow – no pulling, no adjusting, just water and summer.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd that's where many notice the difference – not when putting it on, but when the day at the lake lasts longer than planned.\u003c\/p\u003e\n\n  \u003ch2\u003eBlack Bikini with Neon Details – for Beach, Pool, and Summer Days by the Water\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat the Black Bikini Neon is made for:\u003c\/strong\u003e\u003cbr\u003e\nA bikini in deep black with targeted neon accents – the silhouette remains calm, the details provide a clear counterpoint. Fabric made of 78% polyamide and 22% elastane, designed for movement in water.\u003c\/p\u003e\n\n\u003cp\u003eBlack is not a compromise, but a statement. This black bikini works with the tension between a subtle base tone and vibrant neon details – a contrast that works just as well on the shores of Lake Constance as by the pool on vacation. The neon accents are not an exclamation mark; they are a quiet eye-catcher: present without being loud.\u003c\/p\u003e\n\n\u003cp\u003eWhen you go to the water in the morning and the light still lies flat across the surface, the neon briefly lands – soft, not glaring. In the afternoon on the jetty, when others pass by in colorful prints, the black appears calm and clear. The bikini can be combined with a simple linen overshirt, dark shorts, or a light pareo – without any piece fighting for too much attention.\u003c\/p\u003e\n\n\u003cp\u003eFor a day at the lake, for the pool while traveling, for a beach holiday where you swim in the morning and grab coffee at the kiosk at noon – this black bikini with neon details is designed for exactly these changing moments, without having to explain itself anew for each one.\u003c\/p\u003e\n\n\u003ch3\u003eWhat you'll notice\u003c\/h3\u003e\n\n\u003cp\u003e• The black remains deep – no fading after the first swim, with normal care\u003cbr\u003e• The neon details stand out without dominating the overall look\u003cbr\u003e• The fabric gives way – when getting up from the towel, when entering the water, when sitting down on the jetty\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eTake a close look at the product images – the cut and neon gradient are best seen there.\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\": \"S\", \"hip_min\": 86.0, \"hip_max\": 91.0, \"height_min\": 32.0, \"height_max\": 34.0}, {\"name\": \"M\", \"hip_min\": 91.0, \"hip_max\": 96.0, \"height_min\": 34.0, \"height_max\": 36.0}, {\"name\": \"L\", \"hip_min\": 96.0, \"hip_max\": 101.0, \"height_min\": 36.0, \"height_max\": 38.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  \u003cdiv class=\"bn-quick-benefits\"\u003e\u003cul\u003e\n\n\u003cli\u003e✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Black with neon details, solid base color\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 fit you, the Black Bikini Neon can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini doesn't cooperate when moving in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003ePolyamide-elastane blend – designed for movement, beach, and ease of care.\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\u003eThe bikini slips when swimming and constantly needs adjusting\u003c\/li\u003e\n\n\u003cli\u003eThe material feels stiff or uncomfortable after bathing\u003c\/li\u003e\n\n\u003cli\u003eThe shape loses its integrity after just a few washes\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou go into the water – and shortly thereafter, the top's fit is no longer where it should be. This happens when a bikini is primarily made for looks, but not for the moments when you are actually moving. At the shores of Lake Constance, when pushing off the jetty, when turning on the sun lounger – these are the real moments when cut and material show what they can do.\u003c\/p\u003e\n\n\u003cp\u003eThe reason is often the elastane content: too low, and the fabric doesn't follow movement. Too stiff, and it doesn't return after stretching. The polyamide-elastane blend of this bikini is designed for an elastic feel – the fabric can adapt and returns to its shape under normal strain. This is not a promise, but a guide for everyday life by the water.\u003c\/p\u003e\n\n\u003cp\u003eIf you are looking for a bikini that primarily has a shaping or strong structuring effect, this cut may not be the right choice – it focuses more on mobility than control. But if you like a simple black bikini with neon accents that moves with you without drawing too much attention, this approach might be suitable.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eImagine wearing it for an entire summer day – swimming, lying down, a quick trip to the nearby bar: Does that sound like the right rhythm for you?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you assess the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eIf you like, check the size chart – for bikinis, it's worth checking the top and bottom separately.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany particularly appreciate\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Worn for swimming and sunbathing at the lake\u003c\/li\u003e\n\n\u003cli\u003e→ Combined with a light linen overshirt for the walk from the water to the café\u003c\/li\u003e\n\n\u003cli\u003e→ Suitable for vacations at the beach, pool, and travel without additional coordination\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✅ Elastic polyamide-elastane blend – designed for movement in water\u003c\/li\u003e\n\n\u003cli\u003e✅ Subtle black with neon accents – versatile and clear in appearance\u003c\/li\u003e\n\n\u003cli\u003e✅ Delicate wash 30 °C – uncomplicated everyday care\u003c\/li\u003e\n\n\u003cli\u003e✅ No motif, no pattern – the neon details provide the only accent\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not ideal if you prefer strongly shaping or structuring material\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not ideal for people who only want machine washing at higher temperatures\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not ideal if you prefer very thick or firm fabrics for swimwear\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 ones\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Black Bikini Neon\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eDoesn't sit securely when swimming, needs constant adjusting\u003c\/td\u003e\n\n\u003ctd\u003e22% elastane can support a more flexible fit during movement – under normal strain\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eFabric feels stiff or sticky after bathing\u003c\/td\u003e\n\n\u003ctd\u003eThe polyamide-elastane blend is designed for a lighter, elastic feel\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eColor and shape noticeably degrade after a few washes\u003c\/td\u003e\n\n\u003ctd\u003eDelicate wash 30 °C without tumble drying can help preserve shape and color longer\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eColorful prints often look restless or dated at the beach\u003c\/td\u003e\n\n\u003ctd\u003eBlack base with neon details remains calm and can be combined across seasons\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 considered exactly these situations with the Black Bikini Neon – 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 the Black Bikini Neon 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\u003eAt 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  \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 fit well if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eBlack Bikini Neon\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\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently asked questions about the Black Bikini Neon\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWhat makes a simple black bikini with neon details special?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe contrast of deep black and vibrant neon accents keeps the design calm yet present. The color combination can be paired with light cover-ups, pareos, or dark shorts without any single piece drawing too much attention.\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 bikini fit when moving in the water?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe 22% elastane content is designed to accommodate movements like swimming, standing up, and sitting down. Under normal strain, the fabric typically returns to its original shape. A secure fit also depends on the chosen size – if in doubt, it's worth checking the size chart.\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 a bikini made of polyamide and elastane?\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 delicate wash at 30 °C. Do not tumble dry – heat can affect elastane long-term. Gentle treatment can help maintain 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\"\u003eFor what situations is this women's neon bikini suitable?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eIt is designed as swimwear for the beach, pool, and lake – that is, for situations where you are moving, swimming, or simply spending the day by the water. It is not designed for strong shaping wear or shapewear functions.\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\"\u003eDoes the black bikini lose its shape after several washes?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThat depends on care practices and wear. Delicate wash at 30 °C and no tumble drying are the key factors. The polyamide-elastane blend is designed for an elastic feel – with gentle care, the basic structure generally remains intact.\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 find the right size for this bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eFor bikinis, it's worth checking the top and bottom separately, as the fit can vary depending on body shape. Our size calculator helps you with this – enter your height and weight to get an initial estimate.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-related-articles\"\u003e\n\n  \u003ch3\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/die-perfekte-bademode-finden\"\u003eFinding the perfect swimwear\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-fur-damen-finden-sie-den-perfekten-badeanzug-fur-den-sommer-2024\"\u003eSwimsuits for women: Find the perfect swimsuit for summer 2024\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/bikini-damen\/wie-man-den-perfekten-bikini-fur-seine-korperform-findet\"\u003eHow to find the perfect bikini for your body shape\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=\"Neon accents in sunlight by the water – high contrast, but not overwhelming\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Black silhouette on bright sand or jetty – clear contour\" 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\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce to order – this reduces overproduction and excess stock 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 print. 30 days to decide.\u003c\/div\u003e\n\n  \u003cdiv class=\"bn-source\"\u003e\u003csmall class=\"bn-source\"\u003eSource: Bodenseemarke – Information verified according to 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 scenarios above, the Black Bikini Neon might be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eBlack Bikini Neon\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€25.95\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 print. 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 Bikini Neon 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 Neon\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/db0d8dde-d2d0-475d-9708-07034100bf3e.jpg?v=1753453410\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"25.95\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Ebony black \/ L","offer_id":45166096449804,"sku":"CJBJ120882206FU","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ M","offer_id":45166096482572,"sku":"CJBJ120882205EV","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ S","offer_id":45166096515340,"sku":"CJBJ120882204DW","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ L","offer_id":45166096548108,"sku":"CJBJ120882209IR","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ M","offer_id":45166096580876,"sku":"CJBJ120882208HS","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ S","offer_id":45166096613644,"sku":"CJBJ120882207GT","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Tulip pink \/ L","offer_id":45166096646412,"sku":"CJBJ120882203CX","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Tulip pink \/ M","offer_id":45166096679180,"sku":"CJBJ120882202BY","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Tulip pink \/ S","offer_id":45166096711948,"sku":"CJBJ120882201AZ","price":25.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/db0d8dde-d2d0-475d-9708-07034100bf3e.jpg?v=1753453410"},{"product_id":"bikini-damen-triangel-print","title":"Bikini Women Palm Leaves","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini stay put even after a long day at the beach?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that feeling when a bikini simply stays in place – without constant adjustment.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eThroughout a day at the lake or beach, you often only realize if a bikini truly fits you – when getting up, going into the water, sitting down in the sand.\u003c\/p\u003e\n\n  \u003ch2\u003eTriangle Bikini for Women with Palm Leaf Print – for Beach, Lake, and Summer Holidays\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nTriangle cut with tie straps – adaptable to different proportions, tropical palm leaf print in green on black, tassel details on the ties, fabric with pleasant wearing comfort even when wet.\u003c\/p\u003e\n\n\u003cp\u003eThe starting point of this bikini is a motif you'd expect to see in a southern bay rather than a shop window: large, clear palm leaves in lush green on deep black. This creates a print that stands out at first glance – without being loud. If you walk along the shore of Lake Constance or unfold your deckchair, you're wearing a design that spells summer differently: calm, botanical, with a hint of wanderlust.\u003c\/p\u003e\n\n\u003cp\u003eThe tassels on the tie straps are the detail that makes all the difference. They move when you walk, when you get out of the water, or when you grab your towel – a small, casual signal. The green of the leaves is rich enough to glow on a black background, but not so garish that it looks tired after one season. For those who like muted colors and clear motifs, this print might offer a combination that lasts beyond one season. If you prefer solid colors, this bikini is probably not for you.\u003c\/p\u003e\n\n\u003cp\u003eOn the pier in the morning, when the light is still slanted and the water glimmers – that's when this print unfolds its magic. Or in the afternoon at the lake, towel spread out, book to the side, a quick dip and back onto the mat. The bikini also works as a travel companion that you recognize when packing and look forward to.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The print looks different on the body than on the screen – the green of the palm leaves on black has a certain depth that you only see when wearing it.\u003cbr\u003e• The tassels move – this is a visible, small detail that distinguishes the bikini from a simple triangle.\u003cbr\u003e• The cut can be adapted to different proportions thanks to the tie straps – this can help if you often find yourself between sizes with bikinis.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you're looking for a size: Our size calculator helps you find the right starting point.\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 (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\": \"S\", \"waist_min\": 114.6, \"waist_max\": 137.1, \"hip_min\": 86.0, \"hip_max\": 91.0, \"bust_min\": 81.0, \"bust_max\": 86.0, \"height_min\": 34.0, \"height_max\": 36.0}, {\"name\": \"M\", \"waist_min\": 61.0, \"waist_max\": 66.0, \"hip_min\": 91.0, \"hip_max\": 97.0, \"bust_min\": 86.0, \"bust_max\": 91.0, \"height_min\": 38.0, \"height_max\": 40.0}, {\"name\": \"L\", \"waist_min\": 66.0, \"waist_max\": 71.0, \"hip_min\": 97.0, \"hip_max\": 102.0, \"bust_min\": 91.0, \"bust_max\": 97.0, \"height_min\": 42.0, \"height_max\": 44.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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30°C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: Triangle top with tie straps, tassel details\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, the women's palm leaf bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini becomes restless during the day\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit, movement, and material – what can play a role in a triangle bikini.\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\u003eThe top slips when swimming\u003c\/li\u003e\n\n\u003cli\u003eThe band digs in after a while\u003c\/li\u003e\n\n\u003cli\u003eIt's hard to estimate the size online\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eSome bikinis fit well in the changing room – and then start shifting the first time you go into the water. The top rotates slightly, the bottom slips when you sit down on the towel. This isn't an isolated phenomenon, but something many wearers of triangle bikinis know.\u003c\/p\u003e\n\n\u003cp\u003ePart of this has to do with the fit: triangle bikini tops sit very differently on different breast shapes. The ties at the shoulder and neck make a difference – too loose, and it slips; too tight, and it digs in. The ratio between top and bottom size is also often not identical for many women, which can be a real problem with bikinis that are only available as a set.\u003c\/p\u003e\n\n\u003cp\u003eThis women's triangle bikini is designed for an adaptable fit: the straps can be tied individually, and the top and bottom can be chosen separately. This can help the bikini sit more securely during normal movement – walking, swimming, sitting down. A guideline, not a promise. Those who engage in intense water sports or need a lot of support when swimming are usually better off with a sports swimsuit – this bikini is not designed for that.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eHow much support and adaptability do you need – more for quiet beach days or also for active sessions 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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eChoose top and bottom separately, compare sizes – and if in doubt, use the return option.\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→ Stays in place even after a long day at the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Top usually stays where it was tied when swimming\u003c\/li\u003e\n\n\u003cli\u003e→ The green of the print appears deeper on the body than on the screen\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Triangle cut with adjustable straps – can sit securely during normal movement\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be chosen separately – useful if sizes differ\u003c\/li\u003e\n\n\u003cli\u003e✅ Tropical palm leaf print in green on black with tassels – visible detail without a loud look\u003c\/li\u003e\n\n\u003cli\u003e✅ 78% Polyamide, 22% Elastane – comfortable on the body, even when wet\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not designed for intense water sports or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ For those who prefer solid colors or very subtle patterns, this print is probably not the right one\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Triangle cut offers less support than padded or lined bikini tops\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Palm Leaf Bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips when swimming and moving\u003c\/td\u003e\n\n\u003ctd\u003eAdjustable tie straps – can be set for a secure fit during normal movement\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop and bottom only as a set – size rarely fits both\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom can be chosen separately – each part suitable for your own proportions\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePrint looks faded after one season\u003c\/td\u003e\n\n\u003ctd\u003ePolyamide-Elastane mix is designed for water contact – care according to manufacturer's instructions recommended\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSize difficult to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator available with height and weight as a guide\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 exactly such situations with the Women's Palm Leaf 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 the Women's Palm Leaf 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 secure 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\u003eMight be a good fit if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eWomen's Palm Leaf 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 mispurchases\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 the Women's Palm Leaf Bikini\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eIs a tropical women's palm leaf triangle bikini with tassels suitable for a Lake Constance holiday?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the design – green palm leaves on black with tassels on the ties – is designed for quiet beach days at the lake, beach, or pool. The triangle cut with adjustable ties can be individually adapted. For intense water sports activities, a sporty swimsuit is usually the more suitable 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\"\u003eHow do I find the right size for this women's triangle bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSince the top and bottom can be chosen separately, you can select both independently according to your measurements. Our size calculator helps you with height and weight as a starting point. If in doubt between two sizes, it can help to choose a smaller size for the top, as the triangle ties offer a lot of room for adjustment.\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 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 at 30°C on a delicate cycle. Do not tumble dry – this protects the elastane and the fit. Drying flat is better than hanging to maintain its shape.\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\"\u003eDoes the top stay secure when swimming?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe triangle top is equipped with adjustable tie straps that can be tied tightly enough to generally stay in place during normal swimming movements. For intense water activities or competitive swimming, the fit of a sports swimsuit is more stable – this bikini is not designed for that.\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 of this palm leaf bikini separately?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the top and bottom can be chosen separately. This is particularly practical if your top and bottom sizes are not identical – which is the case for many women.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Green palm leaves on a black background – clear and calm at the same time\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Tassels on the ties that move when walking\" 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 receipt\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce to order – this reduces overproduction and stock, 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 checked 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 scenarios above, the Women's Palm Leaf Bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Palm Leaf Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€22.95\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 Women's Palm Leaf 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\": \"Bikini Damen Palmblätter\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/27954017934.jpg?v=1752911223\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"22.95\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Rosa\u0026amp;Balu \/ L","offer_id":45166103658764,"sku":"CJYDYYLJ00199-C05-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Rosa\u0026amp;Balu \/ M","offer_id":45166103691532,"sku":"CJYDYYLJ00199-C05-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Rosa\u0026amp;Balu \/ S","offer_id":45166103724300,"sku":"CJYDYYLJ00199-C05-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Black \u0026amp; Pink \/ L","offer_id":45166103757068,"sku":"CJYDYYLJ00199-K01-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Black \u0026amp; Pink \/ M","offer_id":45166103789836,"sku":"CJYDYYLJ00199-K01-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Black \u0026amp; Pink \/ S","offer_id":45166103822604,"sku":"CJYDYYLJ00199-K01-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Red \u0026amp; Turquoise \/ L","offer_id":45166103855372,"sku":"CJYDYYLJ00199-K04-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Red \u0026amp; Turquoise \/ M","offer_id":45166103888140,"sku":"CJYDYYLJ00199-K04-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Red \u0026amp; Turquoise \/ S","offer_id":45166103920908,"sku":"CJYDYYLJ00199-K04-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \u0026amp; Light Blue \/ L","offer_id":45166103953676,"sku":"CJYDYYLJ00199-K05-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \u0026amp; Light Blue \/ M","offer_id":45166103986444,"sku":"CJYDYYLJ00199-K05-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \u0026amp; Light Blue \/ S","offer_id":45166104019212,"sku":"CJYDYYLJ00199-K05-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Black \u0026amp; Red \/ L","offer_id":45166104051980,"sku":"CJYDYYLJ00199-K07-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Black \u0026amp; Red \/ M","offer_id":45166104084748,"sku":"CJYDYYLJ00199-K07-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Black \u0026amp; Red \/ S","offer_id":45166104117516,"sku":"CJYDYYLJ00199-K07-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \u0026amp; White \/ L","offer_id":45166104150284,"sku":"CJYDYYLJ00199-Pink white-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \u0026amp; White \/ M","offer_id":45166104183052,"sku":"CJYDYYLJ00199-Pink white-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \u0026amp; White \/ S","offer_id":45166104215820,"sku":"CJYDYYLJ00199-Pink white-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Schwarz\u0026amp;Palm \/ L","offer_id":45166104248588,"sku":"CJYDYYLJ00199-Q01-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Schwarz\u0026amp;Palm \/ M","offer_id":45166104281356,"sku":"CJYDYYLJ00199-Q01-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Schwarz\u0026amp;Palm \/ S","offer_id":45166104314124,"sku":"CJYDYYLJ00199-Q01-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Black palm \/ L","offer_id":45166104346892,"sku":"CJYDYYLJ00199-Q02-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Black palm \/ M","offer_id":45166104379660,"sku":"CJYDYYLJ00199-Q02-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Black palm \/ S","offer_id":45166104412428,"sku":"CJYDYYLJ00199-Q02-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"leopard \/ L","offer_id":45166104445196,"sku":"CJYDYYLJ00199-Q03-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"leopard \/ M","offer_id":45166104477964,"sku":"CJYDYYLJ00199-Q03-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"leopard \/ S","offer_id":45166104510732,"sku":"CJYDYYLJ00199-Q03-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ L","offer_id":45166104543500,"sku":"CJYDYYLJ00199-Q04-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ M","offer_id":45166104576268,"sku":"CJYDYYLJ00199-Q04-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ S","offer_id":45166104609036,"sku":"CJYDYYLJ00199-Q04-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Red \u0026amp; Black \/ L","offer_id":45166104641804,"sku":"CJYDYYLJ00199-Red black-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Red \u0026amp; Black \/ M","offer_id":45166104674572,"sku":"CJYDYYLJ00199-Red black-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Red \u0026amp; Black \/ S","offer_id":45166104707340,"sku":"CJYDYYLJ00199-Red black-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Red \u0026amp; White \/ L","offer_id":45166104740108,"sku":"CJYDYYLJ00199-Red white-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Red \u0026amp; White \/ M","offer_id":45166104772876,"sku":"CJYDYYLJ00199-Red white-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Red \u0026amp; White \/ S","offer_id":45166104805644,"sku":"CJYDYYLJ00199-Red white-S","price":22.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/27954017934.jpg?v=1752911223"},{"product_id":"bikini-coquillage-damen-muschel-design","title":"Women's Shell Bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a shell-design bikini that fits just as well on the beach as it did the first time you put it on?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that feeling when a bikini just fits – without constantly having to think about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd usually, you don't notice that when trying it on, but only after a long day by the water.\u003c\/p\u003e\n\n  \u003ch2\u003eShell Bikini for Women with Pink-Blue Gradient – for Beach, Lake, and Summer Days\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nA shell design with a delicate pink-blue gradient – the bikini makes a conscious maritime statement without being obtrusive. The top and bottom are made of 78% polyamide and 22% elastane – a common blend in swimwear that hugs the body and moves with you.\u003c\/p\u003e\n\n\u003cp\u003eThe shell motif with its soft color gradient is reminiscent of those hours when the light falls low over the water and the colors on the shore oscillate between pink and blue. The gradient isn't loud – it feels more like a silent gesture. You put it on in your vacation home in the morning, walk the few steps to the lake, and the pattern already feels harmonious before the day has truly begun.\u003c\/p\u003e\n\n\u003cp\u003eVisually, the bikini sets a clear focus: the shell design dominates, the gradient from pink to blue gives the set a lightness that suits light sands and calm waters. For those who like to throw a sarong or a white beach shirt over it, this color spectrum offers easy coordination. Lounging on the pier, jumping into the water, strolling back to your towel – the pattern remains legible in every situation without dominating.\u003c\/p\u003e\n\n\u003cp\u003eThree moments where this shell bikini for women finds its place: a quiet afternoon on the shores of Lake Constance, a pool day on vacation where you also wear the set for a quick trip to the ice cream stand – or a summer outing with the family, where swimwear and beach outfit blend seamlessly. If you're looking for a clear maritime summer look, this is a great starting point.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• You put it on and the color gradient creates the outfit – without any further effort.\u003cbr\u003e• By the water, you don't look like someone who's just wearing any bikini, but like someone with a clear summer vision in mind.\u003cbr\u003e• When you lay it on your towel, it lies neatly – no fussy motif, no gradient that falls apart.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, choose your size using the size calculator – or take another look at the set.\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\": \"S\", \"waist_min\": 68.0, \"waist_max\": 72.0, \"hip_min\": 89.0, \"hip_max\": 93.0}, {\"name\": \"M\", \"waist_min\": 73.0, \"waist_max\": 77.0, \"hip_min\": 94.0, \"hip_max\": 98.0}, {\"name\": \"L\", \"waist_min\": 78.0, \"waist_max\": 82.0, \"hip_min\": 99.0, \"hip_max\": 103.0}, {\"name\": \"XL\", \"waist_min\": 83.0, \"waist_max\": 87.0, \"hip_min\": 104.0, \"hip_max\": 108.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✔ Material: 78% polyamide, 22% elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Gentle wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Shell motif with pink-blue gradient\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, the Shell Bikini for Women can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eFit and Style of a Bikini with Decorative Detail – What Really Matters\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA shell design with a pink-blue gradient for days when swimwear and mood align.\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\u003eBikinis with decorative details look good but often fit differently than expected\u003c\/li\u003e\n\n\u003cli\u003eFit varies greatly by brand – especially for separate tops and bottoms\u003c\/li\u003e\n\n\u003cli\u003eIt's hard to judge whether the motif truly stands out by the water or quickly looks overlooked\u003c\/li\u003e\n\n\u003cli\u003eCare and durability of decorative swimwear are not always transparent\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou know the feeling: a bikini looks great in the picture, but somehow fits differently on the body – the waistband pulls, the top slides forward, or you're constantly adjusting it when you stand up. This happens especially with models that have decorative details, because the focus is often first on the design, not on the cut and material.\u003c\/p\u003e\n\n\u003cp\u003eOne reason for this is often the material blend: Many bikinis with elaborate prints or motifs use fabrics that work visually but offer little adaptability. This bikini consists of 78% polyamide and 22% elastane – a combination designed for greater adaptability to the body shape in swimwear. Whether and how well it fits in individual cases still depends on the chosen size and your own figure.\u003c\/p\u003e\n\n\u003cp\u003eThis Shell Bikini for Women can be an option if you like a maritime design and don't want to compromise on fit. If, however, you're looking for a very simple, inconspicuous bikini without a motif or prioritize maximum sports function – swimming laps, intense water sports sessions – then this model, with its clear focus on beach aesthetics, might not be your first choice.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat situation do you primarily have in mind – relaxed days by the lake or more active sessions 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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTake a good look at the size chart – and then decide what fits.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ worn on quiet days by Lake Constance\u003c\/li\u003e\n\n\u003cli\u003e→ chosen for summer vacation with a maritime look\u003c\/li\u003e\n\n\u003cli\u003e→ used as a set for pool, beach, and vacation photos\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✅ Shell design with pink-blue gradient – clear maritime summer look\u003c\/li\u003e\n\n\u003cli\u003e✅ 78% polyamide, 22% elastane – designed for adaptable fit under normal use\u003c\/li\u003e\n\n\u003cli\u003e✅ Gentle wash 30 °C – clear, gentle care instructions\u003c\/li\u003e\n\n\u003cli\u003e✅ Subtle enough to be combined with beach outfits\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Those looking for a completely inconspicuous, solid-colored model will find a clear style focus here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not primarily designed for intense water activities or lap swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No detailed information on padding or strap variations – if you need this, please check the product details\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 in 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 of similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Shell Bikini for Women\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eDecorative bikinis look good but often feel insecure when moving\u003c\/td\u003e\n\n\u003ctd\u003e22% elastane can provide a more flexible fit – the exact fit depends on the chosen size\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eModels with striking motifs are hard to care for and quickly lose their shape\u003c\/td\u003e\n\n\u003ctd\u003eGentle wash 30 °C and no tumble drying provide clear care guidelines for gentle handling\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eInexpensive swimwear often lacks transparency regarding material and composition\u003c\/td\u003e\n\n\u003ctd\u003e78% polyamide, 22% elastane – verifiable material information as a basis for decision\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eMaritime bikinis often only seem wearable in specific vacation contexts\u003c\/td\u003e\n\n\u003ctd\u003eThe shell design deliberately sets an accent – it's designed for beach, lake, and relaxed summer days, not as an all-rounder\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 exactly these situations with the Shell Bikini for Women – so you'll have to adjust less while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the Shell Bikini for Women feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eConcrete moments when you'll notice: 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 when moving.\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. Gentle 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: Gentle 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 fit well if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You're looking for a \u003cstrong\u003eShell Bikini for Women\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 mispurchases\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 Gentle 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 the Shell Bikini for Women\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does the Shell Bikini for Women fit when moving – for example, when swimming or standing up?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe 22% elastane content can help the top and bottom adapt to movement and reduce slipping. How secure the fit is in individual cases largely depends on the chosen size – if unsure, comparing your measurements with the size chart can be helpful.\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 the shell-design bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, then gentle wash at 30 °C. Do not tumble dry – this preserves the material and color gradient for 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\"\u003eHow do I find the right size for this Shell Bikini for Women?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eBikini sizes can vary by brand. Our size calculator helps you get an estimate based on your height and weight. If you're on the fence between two sizes, it might be advisable to choose the larger one for more freedom of movement.\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\"\u003eWhat situations is this bikini with a pink-blue gradient suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bikini is designed for relaxed summer days by the water – beach, lake, pool. The shell design with a maritime accent goes well with calm beach days or vacation settings. It is less designed for intense water activities or competitive swimming.\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 wear 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\"\u003eThat depends on whether the top and bottom are sold separately. If you need different sizes for the top and bottom, it's worth checking the product details or contacting customer service – this way you can avoid mispurchases.\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\"\u003eDoes the shell design look different on the body than in the product photo?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe pink-to-blue gradient can appear slightly different depending on the lighting conditions and body shape. The motif is flat and not three-dimensional – on the body, it unfolds similarly to the picture, but can vary slightly due to draping or tension in the fabric.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/die-perfekte-bademode-finden\"\u003eFinding the perfect swimwear\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-fur-damen-finden-sie-den-perfekten-badeanzug-fur-den-sommer-2024\"\u003eSwimsuits for Women: Find the perfect swimsuit for Summer 2024\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/bikini-damen\/wie-man-den-perfekten-bikini-fur-seine-korperform-findet\"\u003eHow to find the perfect bikini for your body shape\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=\"Farbverlauf von Rosa nach Blau im Sonnenlicht am Wasser\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Muschel-Motiv auf dem Oberteil – flächig und ruhig\" 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 excess stock, especially for printed items!\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 scenarios above, the Shell Bikini for Women might be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eShell Bikini for Women\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€32.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 Shell Bikini for Women 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\": \"Muschel Bikini Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/193072510384.jpg?v=1752911021\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"32.99\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"A \/ S","offer_id":45166120042764,"sku":"CJYDYYBJ00272-A-S","price":32.99,"currency_code":"EUR","in_stock":true},{"title":"A \/ M","offer_id":45166120009996,"sku":"CJYDYYBJ00272-A-M","price":32.99,"currency_code":"EUR","in_stock":true},{"title":"A \/ L","offer_id":45166119977228,"sku":"CJYDYYBJ00272-A-L","price":32.99,"currency_code":"EUR","in_stock":true},{"title":"A \/ XL","offer_id":45166120075532,"sku":"CJYDYYBJ00272-A-XL","price":32.99,"currency_code":"EUR","in_stock":true},{"title":"B \/ S","offer_id":45166120173836,"sku":"CJYDYYBJ00272-B-S","price":32.99,"currency_code":"EUR","in_stock":true},{"title":"B \/ M","offer_id":45166120141068,"sku":"CJYDYYBJ00272-B-M","price":32.99,"currency_code":"EUR","in_stock":true},{"title":"B \/ L","offer_id":45166120108300,"sku":"CJYDYYBJ00272-B-L","price":32.99,"currency_code":"EUR","in_stock":true},{"title":"B \/ XL","offer_id":45166120206604,"sku":"CJYDYYBJ00272-B-XL","price":32.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/193072510384.jpg?v=1752911021"},{"product_id":"bikini-ruffle-shorts-damen","title":"Women's Tie-Dye Rainbow Bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a tie-dye bikini that looks colorful – yet stays perfectly in place?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that relaxed feeling when a bikini stays put all day without you having to give it a second thought.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eOver the course of a long day at the beach, it usually becomes clear whether a bikini truly works with you – or not.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Tie-Dye Bikini with Off-Shoulder Top and Ruffle Shorts – for the Lake, Beach, and Vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nOff-shoulder top with ruffled hem and high-waisted ruffle shorts – a tie-dye rainbow pattern that is colorful without being too loud. The milk silk fabric feels soft on the skin, both dry and wet.\u003c\/p\u003e\n\n\u003cp\u003eThe women's tie-dye bikini was born from the idea of wearing color and restraint simultaneously. The rainbow pattern is not a uniform print, but a soft gradient – as it appears when colors slowly blend into each other. On the shores of Lake Constance, where the midday light falls flat on the water, this very gradient looks particularly vibrant. Not gaudy, but visibly present.\u003c\/p\u003e\n\n\u003cp\u003eThe off-shoulder top rests on the shoulder without pinching – a cut that hardly shifts when walking on sand or getting up from your towel. The ruffle shorts drape over the hips, the small ruffles give the bottom a soft structure that allows for movement without losing its fit. If you wear magenta tones, turquoise, and yellow together in one piece, you barely need anything else – a white beach towel, simple sunglasses, and you're done.\u003c\/p\u003e\n\n\u003cp\u003eThis bikini suits a quiet afternoon by the lake just as well as a vacation where you stroll more than you swim. If you take it off briefly after a swim and have a coffee, you'll notice that the pattern works outside the water too – colorful, but never overdressed. It makes a great vacation souvenir, a birthday or summer gift, for anyone who likes to wear color but prefers clean lines.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The color gradient appears different depending on the light – cooler in the morning on the jetty, warmer at midday in the sun.\u003cbr\u003e• The top still sits in the same place after an hour in the water as it did when you put it on.\u003cbr\u003e• The ruffle shorts can be worn without constantly tugging at the waistband.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you want to estimate the size and fit, our size calculator can help you.\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 (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\": \"S\", \"hip_min\": 75.0, \"hip_max\": 81.0, \"bust_min\": 79.0, \"bust_max\": 85.0}, {\"name\": \"M\", \"hip_min\": 80.0, \"hip_max\": 86.0, \"bust_min\": 84.0, \"bust_max\": 90.0}, {\"name\": \"L\", \"hip_min\": 85.0, \"hip_max\": 91.0, \"bust_min\": 89.0, \"bust_max\": 95.0}, {\"name\": \"XL\", \"hip_min\": 90.0, \"hip_max\": 96.0, \"bust_min\": 94.0, \"bust_max\": 100.0}, {\"name\": \"2XL\", \"hip_min\": 95.0, \"hip_max\": 101.0, \"bust_min\": 99.0, \"bust_max\": 105.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✔ Material: Milk Silk with 70% elastane – soft, stretchy, designed for normal swimwear use\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: Off-shoulder top with ruffled hem, ruffle shorts with a soft waistband\u003c\/li\u003e\n\n\u003cli\u003e✔ Available sizes: S, M, L, XL, 2XL\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, the women's tie-dye rainbow bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini feels unsettled after the first dip\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit, fabric, and color gradient – what matters in a women's tie-dye bikini.\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\u003eThe top shifts after a short time in the water\u003c\/li\u003e\n\n\u003cli\u003eThe waistband digs in or rolls up when you move\u003c\/li\u003e\n\n\u003cli\u003eThe pattern looks good in photos, but too colorful or flat in person\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany people know this: you go into the water, swim a few strokes, and suddenly the top sits differently than before. Or the waistband of the bottom pulls in a direction you didn't intend when sitting down on the sunbathing lawn. This isn't a dramatic problem – but it costs attention you'd rather spend on enjoying the day.\u003c\/p\u003e\n\n\u003cp\u003eOften, it's due to the interplay of cut and material. Fabrics that fit well when dry can have less grip in the water. An off-shoulder top without enough elasticity moves with every wave. The milk silk material of this bikini is designed for high elasticity – it can help the top sit more calmly during normal movement in the water than less elastic fabrics.\u003c\/p\u003e\n\n\u003cp\u003eThe women's tie-dye rainbow bikini is designed for beach days at the lake, beach, or pool – i.e., for situations where you go into the water but don't plan performance swimming or intensive water sports. If you're looking for a bikini for surfing or intensive swim training, a different cut is probably more suitable. For a relaxed beach day with alternating between water and sunbathing, this bikini can be a calm option.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDo you like color gradients that stand out without dominating – or do you prefer solid-colored designs?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL – top and bottom can be selected in the same size.\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 still sits in the same place after swimming\u003c\/li\u003e\n\n\u003cli\u003e→ Color gradient looks more vibrant at the lake than in the product photo\u003c\/li\u003e\n\n\u003cli\u003e→ Ruffle shorts stay put all day without needing adjustment\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✅ Soft-stretch Milk Silk material with 70% elastane – for a comfortable feel wet and dry\u003c\/li\u003e\n\n\u003cli\u003e✅ Off-shoulder cut with ruffled hem – designed for stable fit during normal movement\u003c\/li\u003e\n\n\u003cli\u003e✅ Ruffle shorts with soft waistband – less pressure around the hip area than classic bikini briefs\u003c\/li\u003e\n\n\u003cli\u003e✅ Tie-dye color gradient in rainbow colors – colorful, but visually calmer than all-over prints due to the gradient\u003c\/li\u003e\n\n\u003cli\u003e✅ Sizes S to 2XL available – top and bottom can be selected separately\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not designed for performance swimming or intensive water sports\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Off-shoulder cut is not suitable for everyone who prefers maximum shoulder freedom when swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ The rainbow pattern is visibly present for everyone – those looking for very subtle looks are better off with a solid-colored model\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 of similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Tie-Dye Rainbow Bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips when swimming or moving in the water\u003c\/td\u003e\n\n\u003ctd\u003eMilk silk material with high elastane content – designed for stable fit during normal movement\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eWaistband digs in or rolls up when sitting down\u003c\/td\u003e\n\n\u003ctd\u003eRuffle shorts with a soft, stretchy waistband – fewer pressure points under normal use\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTie-dye pattern looks too gaudy or restless in person\u003c\/td\u003e\n\n\u003ctd\u003eSoft color gradient instead of harsh color blocks – the pattern generally appears calmer than it does in photos\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline bikini sizes are difficult to estimate\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with height and weight – and sizes S to 2XL to choose from\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 considered exactly these situations with the women's tie-dye rainbow bikini – so you have to make fewer adjustments while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the women's tie-dye rainbow 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, done. Delicate wash at 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: High-quality Milk Silk with 70% elastane – super soft, stretchy \u0026amp; durable\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \n  \n\u003cdiv class=\"bn-target\"\u003e\n\n  \u003ch3\u003eMay fit well if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You're looking for a \u003cstrong\u003ewomen's tie-dye rainbow bikini\u003c\/strong\u003e with a fit that can suit 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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about the Women's Tie-Dye Rainbow Bikini\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eIs the women's tie-dye rainbow bikini with ruffle shorts available in large sizes?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the bikini is available in sizes S, M, L, XL, and 2XL. Top and bottom are chosen in the same size. For an accurate assessment, our size calculator helps with height and weight.\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\"\u003eDoes the off-shoulder top stay in place when swimming?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe top is designed for high elasticity and generally stays put during normal movement in the water. It is not designed for performance swimming or intensive water sports – for a relaxed day at the lake or pool, it can be a suitable option.\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 find the right size for this bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator helps you estimate the right size based on your height and weight. If you are between two sizes, it can be helpful to choose the larger size – especially if the top is meant to fit snugly.\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 the bikini after wearing it?\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 best preserves the shape and material.\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 tie-dye rainbow pattern look in practice – too colorful or subtle?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe pattern is a soft color gradient with rainbow colors – not a uniform all-over print. It looks colorful, but due to the gradient effect, it generally appears calmer than flat patterns. Those who prefer very subtle tones may find more suitable options in the solid-colored range.\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 the bikini also be ordered as a gift?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes – the set of off-shoulder top and ruffle shorts in a uniform tie-dye color gradient is suitable as a summer or birthday gift. For size selection, the size calculator helps if you know the recipient's height and weight.\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\"\u003ePlus Size Swimsuits for Women\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/bugel-bikini\"\u003eUnderwired 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=\"Soft rainbow color gradient in backlight on the water\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Off-shoulder line on the way to the jetty\" 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 warehouse stock, 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 scenarios above, the women's tie-dye rainbow 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\"\u003eWomen's Tie-Dye Rainbow Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€28.90\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 women's tie-dye rainbow 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\": \"Tie Dye Regenbogen Bikini Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/1858453949043.jpg?v=1752910512\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"28.90\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Green \/ S","offer_id":45166126301452,"sku":"CJNSSYTZ03422-Blue-S","price":28.9,"currency_code":"EUR","in_stock":true},{"title":"Green \/ M","offer_id":45166126268684,"sku":"CJNSSYTZ03422-Blue-M","price":28.9,"currency_code":"EUR","in_stock":true},{"title":"Green \/ L","offer_id":45166126235916,"sku":"CJNSSYTZ03422-Blue-L","price":28.9,"currency_code":"EUR","in_stock":true},{"title":"Green \/ XL","offer_id":45166126334220,"sku":"CJNSSYTZ03422-Blue-XL","price":28.9,"currency_code":"EUR","in_stock":true},{"title":"Green \/ XXL","offer_id":45166126366988,"sku":"CJNSSYTZ03422-Blue-XXL","price":28.9,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ S","offer_id":45166126465292,"sku":"CJNSSYTZ03422-Orange-S","price":28.9,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ M","offer_id":45166126432524,"sku":"CJNSSYTZ03422-Orange-M","price":28.9,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ L","offer_id":45166126399756,"sku":"CJNSSYTZ03422-Orange-L","price":28.9,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ XL","offer_id":45166126498060,"sku":"CJNSSYTZ03422-Orange-XL","price":28.9,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ XXL","offer_id":45166126530828,"sku":"CJNSSYTZ03422-Orange-XXL","price":28.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/1858453949043.jpg?v=1752910512"},{"product_id":"bikini-damen-trendfarben","title":"solid olive green bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini look modern – and feel just right at the same time?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eMaybe you know that calm feeling when a color just suits you – without you having to think much about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd many only realize this at the beach or lake: whether a color really works or only looked good in the photo.\u003c\/p\u003e\n\n  \u003ch2\u003ePlain olive green bikini – simple, modern, for lake and beach\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nA plain olive green bikini in a minimalist cut – the color sets a calm accent without being conspicuous. The blended fabric of polyamide and elastane fits snugly while yielding.\u003c\/p\u003e\n\n\u003cp\u003eIn 2026, olive is one of the shades that move between earthiness and zeitgeist – warm enough to suit many skin types, and subtle enough not to dominate. No pattern, no appliques: the color field speaks for itself. For those who want to wear a trendy color without the look immediately catching the eye, olive green offers an option that blends in rather than stands out.\u003c\/p\u003e\n\n\u003cp\u003eOn the shore of Lake Constance, when the light flattens in the afternoon, olive green takes on a warmer tone – the fabric ensemble then appears almost earthier than in the product photo. By the pool in direct sunlight, the color appears clearer and fresher. Depending on the light, the effect can vary slightly – this is a good indicator if you want to assess the color online. Plain trendy shades like this are usually easier to combine with beachwear than patterned models: a cream-colored sarong, a striped beach towel, or an olive linen shirt usually integrate seamlessly.\u003c\/p\u003e\n\n\u003cp\u003eThree moments where this bikini finds its place: the first jump into the water on a summer day, when the fabric feels cool for a moment and then gives way; sitting down on the towel, realizing that nothing pulls or digs in; and getting up for an ice cream, without having to adjust it briefly.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The color appears warmer in real light than on many screens – a calm olive green, not khaki.\u003cbr\u003e• The cut is designed for movement: no pulling when walking or swimming, under normal stress.\u003cbr\u003e• The plain color makes combining easier – accessories and beachwear can bring color and texture.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you want to take a closer look at the color: The product photos show the bikini in various lighting situations – this can help to better assess the shade.\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\": []}];\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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: plain olive green, without patterns or appliqués\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 plain olive green bikini can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a trendy color looks different online than on the body\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA plain bikini in olive green – calm in tone, open to combinations.\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\u003eThe color looks different in the photo than in real light\u003c\/li\u003e\n\n\u003cli\u003eTrendy colors sometimes appear louder on the body than desired\u003c\/li\u003e\n\n\u003cli\u003eUnsure whether olive green combines well with existing beachwear\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany know this: a bikini looks exactly right in the product photo – the shade, the simplicity, the overall look. And then, at the lake or beach, it appears either lighter, darker, or somehow different than expected. With olive green, this is particularly relevant because the shade can shift between warm earthy brown and fresh green depending on the light source.\u003c\/p\u003e\n\n\u003cp\u003eThis is less due to the product presentation than to the nature of the shade itself: olive green is a mixed tone that is influenced by white light, shadows, and one's own skin color. A clue: in warm afternoon light, it appears deeper and warmer; in direct sun, clearer and greener. If you are unsure, you can compare the product photos in different lighting situations – this usually gives a more realistic picture than a single studio photo.\u003c\/p\u003e\n\n\u003cp\u003eThe 22% elastane content can help the bikini generally sit securely when moving – getting into the water, standing up, sitting down – without constant readjustment. This is not a promise for every body shape and every cut, but the material is designed for freedom of movement. If you prefer strongly shaping models with underwire or shaping inserts, this simple cut might not be your first choice – this is an honest hint, not a judgment.\n\nDoes this calm, plain shade suit how you want to present yourself by the water?\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you assess the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTake your time to look at the color photos – sometimes it's only decided on the second glance.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Secure fit when getting into the water and swimming\u003c\/li\u003e\n\n\u003cli\u003e→ Combinable with sarong, beach towel, and linen shirt\u003c\/li\u003e\n\n\u003cli\u003e→ Olive green as a trendy color for beach, lake, and pool holidays 2026\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Olive green shade – calm trendy color that can be combined with many beachwear styles\u003c\/li\u003e\n\n\u003cli\u003e✅ 22% elastane – designed for freedom of movement when swimming and walking\u003c\/li\u003e\n\n\u003cli\u003e✅ Plain without pattern – universal starting point for various looks by the water\u003c\/li\u003e\n\n\u003cli\u003e✅ Delicate wash 30 °C – easy to care for with normal handling\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ For buyers who prefer strongly shaping models with underwire, this simple cut might not be the first choice\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who only wear neutral, inconspicuous tones like black or white might find olive green too colorful\u003c\/li\u003e\n\n\u003cli\u003e⚠️ For very intensive water sports activities, there are more specific models with stronger support\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 for similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ plain olive green bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eColor looks different in product photos than in real life\u003c\/td\u003e\n\n\u003ctd\u003eOlive green is a warm earth tone – the product photos show it in various lighting situations as a guide\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTrendy colors are difficult to combine with existing beachwear\u003c\/td\u003e\n\n\u003ctd\u003ePlain olive green without a pattern can generally be integrated more easily into existing beach outfits than patterned models\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBikinis often sit uncomfortably during movement or need to be adjusted\u003c\/td\u003e\n\n\u003ctd\u003eThe 22% elastane content is designed for freedom of movement – with normal use, the fit usually remains secure\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBikinis quickly lose color and shape after washing and sun exposure\u003c\/td\u003e\n\n\u003ctd\u003eDelicate wash at 30 °C and no tumble drying can help preserve color and material longer\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 plain olive green bikini – so you have to adjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the plain olive green 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\u003eAt 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\u003eCould be a good fit if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eplain olive green bikini\u003c\/strong\u003e with a fit that can suit 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 the plain olive green bikini\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does a plain olive green bikini look in real light?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOlive green is a mixed tone that can vary depending on the lighting situation: in warm light, it appears deeper and earthier; in direct sun, it looks fresher and greener. The product photos show the bikini in different lighting situations – this can help you better assess the shade before making a decision.\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 a simple bikini in the trendy color olive green be easily combined?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003ePlain models without patterns are generally easier to combine than patterned ones. Cream-colored or beige sarongs, striped beach towels, or neutral linen shirts usually go well with olive green. The calm tone gives other accessories room to shine.\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 a bikini made of polyamide and elastane?\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 at 30 °C on a delicate cycle. Do not tumble dry – this can damage the material and color. Drying flat is generally gentler for the shape.\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 find the right size for this bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator helps you assess the cut and size based on your height and weight. If you are unsure between two sizes, it can help to compare the measurement chart directly – top and bottom can be chosen separately if the model allows it.\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\"\u003eIs this olive green women's bikini also suitable for intensive water sports?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bikini is designed for normal beach and swimming situations – swimming, sunbathing, moving by the water. For intensive water sports or frequent diving, there are special models with stronger support. For regular use, delicate washing at 30 °C is recommended to protect the material and color.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/die-perfekte-bademode-finden\"\u003eFinding the Perfect Swimwear\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/trendige-bademode-fur-damen-2025-stilvoll-am-strand\"\u003eTrendy Swimwear for Women 2025: Stylish at the Beach\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/bademode-fur-frauen\"\u003eSwimwear for Women\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=\"Olive green color surface in warm afternoon light on the shore of Lake Constance\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Bikini when standing up from the towel – fit remains secure, no readjustment\" 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 stock, 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 according to 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 identify with the scenarios above, the plain olive green bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eplain olive green bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€22.95\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 plain olive green 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\": \"einfarbiger olivgrüner Bikini\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/7717468035728.png?v=1752908619\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"22.95\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"S \/ Olive green","offer_id":45166133674252,"sku":"CJYDYYBJ00431-S-Green","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"S \/ Sky blue","offer_id":45166133707020,"sku":"CJYDYYBJ00431-S-Light Blue","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"S \/ Tulip pink","offer_id":45166133739788,"sku":"CJYDYYBJ00431-S-Pink","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"S \/ Purple","offer_id":45166133772556,"sku":"CJYDYYBJ00431-S-Purple","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"S \/ Cherry red","offer_id":45166133805324,"sku":"CJYDYYBJ00431-S-Red","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"S \/ Sun yellow","offer_id":45166133838092,"sku":"CJYDYYBJ00431-S-Yellow","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"M \/ Olive green","offer_id":45166133477644,"sku":"CJYDYYBJ00431-M-Green","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"M \/ Sky blue","offer_id":45166133510412,"sku":"CJYDYYBJ00431-M-Light Blue","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"M \/ Tulip pink","offer_id":45166133543180,"sku":"CJYDYYBJ00431-M-Pink","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"M \/ Purple","offer_id":45166133575948,"sku":"CJYDYYBJ00431-M-Purple","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"M \/ Cherry red","offer_id":45166133608716,"sku":"CJYDYYBJ00431-M-Red","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"M \/ Sun yellow","offer_id":45166133641484,"sku":"CJYDYYBJ00431-M-Yellow","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"L \/ Olive green","offer_id":45166133281036,"sku":"CJYDYYBJ00431-L-Green","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"L \/ Sky blue","offer_id":45166133313804,"sku":"CJYDYYBJ00431-L-Light Blue","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"L \/ Tulip pink","offer_id":45166133346572,"sku":"CJYDYYBJ00431-L-Pink","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"L \/ Purple","offer_id":45166133379340,"sku":"CJYDYYBJ00431-L-Purple","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"L \/ Cherry red","offer_id":45166133412108,"sku":"CJYDYYBJ00431-L-Red","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"L \/ Sun yellow","offer_id":45166133444876,"sku":"CJYDYYBJ00431-L-Yellow","price":22.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/7717468035728.png?v=1752908619"},{"product_id":"bandeau-bikini-damen","title":"lilac bandeau bikini palm print","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bandeau bikini that stays put all day – while feeling lightweight?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a bikini just fits – without constantly readjusting it throughout the day.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd that's precisely when many notice the difference – not when putting it on, but when getting out of the water and reaching for a towel.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Bandeau Bikini with Palm Print – for Lake, Pool, and Summer Days\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nStrapless bandeau cut – for relaxed lying and moving by the water, subtle palm print in purple-blue-pink tones, fabric made of 78% polyamide and 22% elastane – soft, close-fitting, with slight stretch.\u003c\/p\u003e\n\n\u003cp\u003eThe palm print on this women's bandeau bikini is not loud. The motifs – palms and geometric shapes in calm purple-blue-pink tones – add a summery accent without overwhelming the overall look. On the shores of Lake Constance, where the light falls flat over the water, this pattern looks like a quiet reference to vacation – without theatrics. It's a design you enjoy wearing without constantly being reminded of it.\u003c\/p\u003e\n\n\u003cp\u003eThe combination of a bandeau top and bikini bottoms with the same print creates a calm, coordinated look. If you're sitting on a blanket by the lake and throw the top over your towel, you'll see a piece that works even out of the water. However, if you prefer bold patterns or bright colors, you'll find less of that here – the pattern is deliberately subdued.\u003c\/p\u003e\n\n\u003cp\u003eAs a souvenir from a summer vacation, a gift before the first swim day at the lake, or simply to refresh your swimwear drawer: This bikini fits situations where you want something that feels light and effortless. Three specific moments: Getting out of the water without having to pull at the top. Sitting on the jetty without the bottoms digging in. Packing up after a day at the beach – and the pattern looks just as calm as it did in the morning.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The fabric lies on the body without digging in – even after prolonged wear by the water\u003cbr\u003e• The pattern remains calm even when moving – no visual disturbance\u003cbr\u003e• The color combination of purple, blue, and pink integrates well with many towels, bags, and summer outfits\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you're unsure which size fits: Our size calculator will help you.\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\": []}];\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✔ Material: 78% polyamide, 22% elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry – rinse briefly with clear water after wearing\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: Strapless bandeau top, bikini bottoms with palm print\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, the purple bandeau bikini with palm print can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen the bikini slips in the water and the band digs in\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eWhat often happens with bandeau bikinis – and what matters for a good fit.\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\u003eThe top doesn't stay where it should when swimming\u003c\/li\u003e\n\n\u003cli\u003eThe band feels comfortable in the morning, but you distinctly feel it in the afternoon\u003c\/li\u003e\n\n\u003cli\u003eBikinis ordered online rarely fit as expected\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany know the feeling: you go into the water, briefly dip under – and afterwards the bandeau top isn't quite where it was. Or the bottoms have shifted slightly while swimming, and you discreetly adjust them when getting out. This is not an isolated case, but a typical characteristic of bikinis that are not designed for movement.\u003c\/p\u003e\n\n\u003cp\u003eThe reason often lies in the material's elasticity ratio: if the fabric has too little recovery force, it yields and doesn't return on its own. The blend of polyamide and elastane in this bikini is designed precisely for this recovery force – the fabric stretches with movement and returns to its original shape under normal stress. This is not a guarantee, but the approach differs from bikinis with a lower elastane content.\u003c\/p\u003e\n\n\u003cp\u003eThis bandeau bikini can be an option if you enjoy relaxed swimming and days lounging by the lake or pool and prefer a calm fit. If you plan more intensive water sports like diving, surfing, or competitive swimming, a sports swimsuit or a swimsuit with a clasp is probably the more suitable choice – this is made for movement by the water, not for high performance in the water.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDo you wear bikinis more for relaxed beach days – or do you need something that also holds up during more athletic activities?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you assess the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eIf you like, check the available sizes and compare them with your measurements.\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→ Still fits comfortably after a long day at the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Top usually stays put while swimming\u003c\/li\u003e\n\n\u003cli\u003e→ Pattern looks as subtle on the body as in the product image\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✅ Bandeau cut without straps – for relaxed lounging and moving by the water\u003c\/li\u003e\n\n\u003cli\u003e✅ Subtle palm print in purple-blue-pink – understated, versatile\u003c\/li\u003e\n\n\u003cli\u003e✅ Polyamide-elastane blend – designed for a calm fit under normal stress\u003c\/li\u003e\n\n\u003cli\u003e✅ Easy care: Delicate wash 30 °C\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, diving, or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer bold, eye-catching patterns will find a deliberately calmer design here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Strapless bandeau top – less stable than models with clasps for very active swimming sessions\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\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ purple bandeau bikini with palm print\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBandeau top slips when swimming\u003c\/td\u003e\n\n\u003ctd\u003eElastane content designed for recovery force – usually stays put during normal movement\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBand digs in after prolonged wear\u003c\/td\u003e\n\n\u003ctd\u003eSoft polyamide-elastane fabric – designed for comfortable wear throughout the day\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline bikini sizes difficult to estimate\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator available with height and weight as guidance\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks different on the body than in the picture\u003c\/td\u003e\n\n\u003ctd\u003eSubtle palm print in calm colors – remains visually harmonious even when moving\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 such situations with the purple bandeau bikini with palm print – 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 the purple bandeau bikini with palm print feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you'll notice: 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 during 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\u003eAt the beach\u003c\/h4\u003e\n\n      \u003cp\u003eSalt water, 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, 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\u003eCould be a good fit if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You're looking for a \u003cstrong\u003epurple bandeau bikini with palm print\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 the purple bandeau bikini with palm print\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 purple bandeau bikini with palm print?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eUse our size calculator with your height and weight as a starting point. Since bikini tops and bottoms can have separate sizes, it's worth assessing both parts individually. If you're unsure between two sizes, we recommend choosing the larger variant – especially for the bandeau top, as a fit that is too tight can become uncomfortable over time.\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 bikini bottom band fit when moving in the water?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe polyamide and elastane fabric is designed for recovery force – it stretches with movement and returns to its shape under normal stress. For calm swimming and lounging days, the band usually stays put. For intensive water sports, a bikini is generally less suitable.\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 a women's bandeau bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing. Wash at 30 °C on a delicate cycle, do not tumble dry. This helps the fabric retain its shape and the print last 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\"\u003eIs the palm print bikini also suitable for Lake Constance?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes – the bikini is designed for relaxed days at the lake. The cut and material are suitable for swimming, lounging, and moving by the water. For very athletic activities in the water, a sports swimsuit is a 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\"\u003eCan I order the top and bottom of this bikini in different sizes?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThat depends on the store's offerings – check the product variants directly. Many customers benefit from combining tops and bottoms in different sizes, as bust and hip measurements are often different.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus Size Swimsuits\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/bugel-bikini\"\u003eUnderwired 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=\"Palms and geometric patterns in purple-blue-pink on a light background\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Strapless bandeau top – clear, calm silhouette\" 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 receipt\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce to order – this reduces overproduction and stock, 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 according to 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 scenarios above, the purple bandeau bikini with palm print could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003epurple bandeau bikini with palm print\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€25.90\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 purple bandeau bikini with palm print 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\": \"lila Bandeau Bikini Palmenprint\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/3725643164_1123842909.jpg?v=1717171385\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"25.90\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Ebony black \/ L","offer_id":45166141276428,"sku":"CJYDYYBJ00167-Black-L","price":25.9,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ M","offer_id":45166141309196,"sku":"CJYDYYBJ00167-Black-M","price":25.9,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ S","offer_id":45166141341964,"sku":"CJYDYYBJ00167-Black-S","price":25.9,"currency_code":"EUR","in_stock":true},{"title":"Purple \/ L","offer_id":45166141374732,"sku":"CJYDYYBJ00167-Purple-L","price":25.9,"currency_code":"EUR","in_stock":true},{"title":"Purple \/ M","offer_id":45166141407500,"sku":"CJYDYYBJ00167-Purple-M","price":25.9,"currency_code":"EUR","in_stock":true},{"title":"Purple \/ S","offer_id":45166141440268,"sku":"CJYDYYBJ00167-Purple-S","price":25.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/3725643164_1123842909.jpg?v=1717171385"},{"product_id":"bikini-damen-surfer","title":"Long Sleeve Bikini Floral Print Women's","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a long-sleeved bikini stay put in the water—and still fit days later?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that feeling when a bikini just fits from the first moment—no pulling, no tugging.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eMany don't notice the difference when they put it on, but only when the day gets long—on the shore, in the water, getting up from the sand.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Long-Sleeved Surfer Bikini with Floral Pattern – Criss-Cross Back for Lakes and Seas\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this long-sleeved bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nCriss-cross back for a secure fit during movement – turquoise background with violet blossoms, elastic fabric made of 78% polyamide and 22% elastane, which feels soft and moves with you.\u003c\/p\u003e\n\n\u003cp\u003eThe floral pattern of this long-sleeved bikini has a quiet, self-evident quality: a turquoise background, violet blossoms – a color world reminiscent of clear lake water and bright summer light. Not a loud pattern that calls for attention, but one that simply is. Emerging on the shores of Lake Constance, with the gentle crunch of gravel underfoot.\u003c\/p\u003e\n\n\u003cp\u003eThe long sleeves change how the day at the water feels: a cool morning session, when the light is still low and the water is still fresh – and yet no hesitation on the shore. The criss-cross back is open at the back and stable at the front, so nothing slips when paddling or pulling yourself out of the water. A bikini that lasts longer throughout the day.\u003c\/p\u003e\n\n\u003cp\u003eAs a travel companion in your bag, for a relaxed afternoon at the lake, as a gift for someone who values style and function equally – this long-sleeved bikini with a floral pattern is perfect for moments when you'd rather swim than overthink.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The fabric is snug enough to move with you – and soft enough to forget it's there.\u003cbr\u003e• The pattern looks calm, even when you emerge wet from the water.\u003cbr\u003e• The criss-cross back allows freedom of movement without the top shifting.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like calm patterns and a bikini that lasts more than half a day – this one might be for you.\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 (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\": \"S\", \"hip_min\": 83.0, \"hip_max\": 88.0, \"bust_min\": 81.0, \"bust_max\": 86.0}, {\"name\": \"M\", \"hip_min\": 88.0, \"hip_max\": 93.0, \"bust_min\": 86.0, \"bust_max\": 91.0}, {\"name\": \"L\", \"hip_min\": 93.0, \"hip_max\": 98.0, \"bust_min\": 91.0, \"bust_max\": 96.0}, {\"name\": \"XL\", \"hip_min\": 98.0, \"hip_max\": 103.0, \"bust_min\": 96.0, \"bust_max\": 101.0}, {\"name\": \"2XL\", \"hip_min\": 103.0, \"hip_max\": 108.0, \"bust_min\": 101.0, \"bust_max\": 106.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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: Long-sleeved top with criss-cross back\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\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 Women's Long-Sleeved Floral Bikini can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini doesn't stay put in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit, movement, material – what really matters for a long-sleeved bikini.\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\u003eThe top slips as soon as you enter the water\u003c\/li\u003e\n\n\u003cli\u003eAfter a few days, the bikini no longer fits like on the first day\u003c\/li\u003e\n\n\u003cli\u003eThe fabric feels unpleasantly damp and clammy when wet\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou go into the water, briefly submerge – and notice when you resurface that the top has ridden up. Or you're sitting on the board, paddling, and the band digs in exactly where it shouldn't. Small things, but they add up over a long day at the beach.\u003c\/p\u003e\n\n\u003cp\u003eThe reason is often not the size alone, but the interplay of cut, elasticity, and back design. A criss-cross back distributes tension differently than a straight strap – the top tends to stay more securely in place during arm movements. The material – here 78% polyamide, 22% elastane – is designed for stretch and shape retention, under normal use in water.\u003c\/p\u003e\n\n\u003cp\u003eThis long-sleeved bikini can be an option if you're looking for a bikini that stays put even with more movement in the water – without constant adjustments. If, however, you prefer a sleeveless or triangle-cut bikini, this style might not be for you.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDo you have a clear idea of how much movement your bikini needs to withstand?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eBrowse the available sizes and choose the one that fits your midsection and arms – both should feel secure.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Still fits securely in the evening after a long beach day, just like in the morning\u003c\/li\u003e\n\n\u003cli\u003e→ Criss-cross back generally stays in place during movement in the water\u003c\/li\u003e\n\n\u003cli\u003e→ Pattern still looks clear and not washed out when wet\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Long-sleeved cut for more coverage on cooler days or during longer sessions in the water\u003c\/li\u003e\n\n\u003cli\u003e✅ Criss-cross back – designed for a stable fit under normal stress\u003c\/li\u003e\n\n\u003cli\u003e✅ Floral pattern with turquoise background – a calm design that can be combined well\u003c\/li\u003e\n\n\u003cli\u003e✅ Elastane content for freedom of movement and shape retention\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not ideal for competitive swimming or intense water sports\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer a classic triangle or strapless bikini may not feel comfortable with this cut\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No documented information on chlorine or saltwater resistance – observe care instructions\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\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✅ Women's Long-Sleeved Floral Bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips when swimming or paddling\u003c\/td\u003e\n\n\u003ctd\u003eCriss-cross back cut designed for a more stable fit during arm movements in the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eFabric feels unpleasantly clammy after bathing\u003c\/td\u003e\n\n\u003ctd\u003e78% Polyamide, 22% Elastane – material mix designed for elasticity and fit\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBikini sizes are hard to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with height and weight as a guide – not a promise, but a reference point\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eShort sleeves or straps offer little protection in cool water\u003c\/td\u003e\n\n\u003ctd\u003eLong sleeves for more coverage – for cool mornings or longer water activities\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 thought about these very situations with the Women's Long-Sleeved Floral 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 the Women's Long-Sleeved Floral Bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you notice: 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\u003eAt the beach\u003c\/h4\u003e\n\n      \u003cp\u003eSalt water, 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 to dry, done. Delicate wash 30°C, do not tumble dry – observe 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  \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 fit well if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eWomen's Long-Sleeved Floral 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\u003ecomfort in everyday life\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\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently asked questions about the Women's Long-Sleeved Floral Bikini\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWhat activities is a long-sleeved floral bikini suitable for surfing?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThis long-sleeved bikini is designed for active days on the water – paddling, swimming, beach days. It is less intended for intense competitive water sports or competitive swimming; a special sports swimsuit is recommended for that.\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 criss-cross back of the women's long-sleeved surfer bikini fit during movement?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe criss-cross back distributes tension more evenly during arm movements than a straight strap. The top generally stays more securely in place during normal movement in the water. Under very heavy stress, any bikini can shift – no promise, but a reference point.\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 a polyamide and elastane bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, then wash on a delicate cycle at 30 °C. Do not tumble dry – this preserves the elasticity and shape of the fabric.\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 find the right size for the women's long-sleeved surfer bikini with a criss-cross back?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eUse our size calculator with your height and weight as a starting point. For long-sleeved bikinis, it's also worth considering arm circumference – if in doubt between two sizes, the larger option may provide more freedom of movement.\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\"\u003eIs the simple surfer bikini from Lake Constance also suitable for a seaside vacation?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the cut and material are not tied to a specific type of water body. The floral pattern with a turquoise background and violet blossoms looks just as good at the lake as at the beach – depending on personal taste.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-related-articles\"\u003e\n\n  \u003ch3\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Turquoise background with violet blossoms – color world reminiscent of clear lake water\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Criss-cross back detail – open but guided\" 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 receipt\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce to order – this reduces overproduction and stock, 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 checked according to 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 scenarios above, the Women's Long-Sleeved Floral Bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Long-Sleeved Floral Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€40.95\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 Women's Long-Sleeved Floral 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\": \"Langarm Bikini Blumenmuster Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/1618450463531.jpg?v=1752906786\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"40.95\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Sky blue \/ S","offer_id":45166153892108,"sku":"CJYJ108072001AZ","price":40.95,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ M","offer_id":45166153859340,"sku":"CJYJ108072002BY","price":40.95,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ L","offer_id":45166153826572,"sku":"CJYJ108072003CX","price":40.95,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ XL","offer_id":45166153924876,"sku":"CJYJ108072004DW","price":40.95,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ 2XL","offer_id":45166153793804,"sku":"CJYJ108072005EV","price":40.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/1618450463531.jpg?v=1752906786"},{"product_id":"badeanzug-damen-plus-grossen","title":"Women's Black Swimsuit","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a swimsuit that stays in place all day long – even when swimming?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that feeling when a swimsuit just stays put – no tugging, no adjusting.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eThe difference usually isn't apparent when you put it on, but an hour later – when you're simply moving without thinking about it.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Plus Size Swimsuit – Black, Simple, for Lake and Pool\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nA solid black one-piece swimsuit for women in plus sizes – designed for a stable fit during movement in the water, with a cut that adapts to the body without constricting. Fabric: 78% polyamide, 22% elastane – soft and shaping at the same time.\u003c\/p\u003e\n\n\u003cp\u003eBlack in swimwear is rarely truly simple – too often it appears severe or too sporty. This women's plus size swimsuit takes a different approach: the solid-color design remains understated without seeming interchangeable. On the shores of Lake Constance, where the light softly touches the water, this restraint is particularly effective – no pattern vying for attention, just a shape that simply exists.\u003c\/p\u003e\n\n\u003cp\u003eThe black one-piece is easy to combine – a light scarf for a stroll along the promenade, shorts for the walk from the water to the lounger, a tunic for lunch outdoors. The cut is designed to support various body types without emphasizing or concealing. For those looking for a plus-size swimsuit that doesn't feel like a compromise, this offers a calm option.\u003c\/p\u003e\n\n\u003cp\u003eWhether it's the first dip in the cool lake water in the morning, leaving the outdoor pool at midday, or dozing on a lounger in the afternoon – the black design adapts to the rhythm of the day without becoming stylistically tiresome. That's the advantage of a truly understated piece: it goes with anything without drawing attention.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• You put it on and hardly check it afterwards – it just fits.\u003cbr\u003e• The black looks rich, not faded – even after drying in the sun.\u003cbr\u003e• Combined with a sarong or shorts, you look dressed, not haphazard.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you have an idea of how a calm summer day should feel – this swimsuit won't get in the way.\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-badeanzug\"\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 (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_badeanzug()\"\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_badeanzug() {\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_badeanzug() {\n        const genderSelect = document.getElementById('bn_gender');\n        if (genderSelect) {\n            genderSelect.addEventListener('change', toggleGenderFields_badeanzug);\n            toggleGenderFields_badeanzug();\n        } else {\n            setTimeout(initGenderToggle_badeanzug, 100);\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initGenderToggle_badeanzug);\n    } else {\n        initGenderToggle_badeanzug();\n    }\n})();\n\nfunction calculateSize_badeanzug() {\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\": \"XS\"}, \"sizes\": [{\"name\": \"XS\", \"waist_min\": 61.0, \"waist_max\": 63.0, \"hip_min\": 87.0, \"hip_max\": 90.0, \"bust_min\": 81.0, \"bust_max\": 84.0}, {\"name\": \"S\", \"waist_min\": 66.0, \"waist_max\": 68.0, \"hip_min\": 92.0, \"hip_max\": 95.0, \"bust_min\": 86.0, \"bust_max\": 89.0}, {\"name\": \"M\", \"waist_min\": 71.0, \"waist_max\": 73.0, \"hip_min\": 99.0, \"hip_max\": 105.0, \"bust_min\": 98.0, \"bust_max\": 100.0}, {\"name\": \"L\", \"waist_min\": 77.0, \"waist_max\": 81.0, \"hip_min\": 103.0, \"hip_max\": 109.0, \"bust_min\": 104.0, \"bust_max\": 108.0}, {\"name\": \"XL\", \"waist_min\": 85.0, \"waist_max\": 89.0, \"hip_min\": 107.0, \"hip_max\": 113.0, \"bust_min\": 111.0, \"bust_max\": 115.0}, {\"name\": \"2XL\", \"waist_min\": 99.0, \"waist_max\": 104.0, \"hip_min\": 111.0, \"hip_max\": 117.0, \"bust_min\": 122.0, \"bust_max\": 127.0}, {\"name\": \"3XL\", \"waist_min\": 109.0, \"waist_max\": 114.0, \"hip_min\": 115.0, \"hip_max\": 121.0, \"bust_min\": 132.0, \"bust_max\": 137.0}, {\"name\": \"4XL\", \"waist_min\": 119.0, \"waist_max\": 124.0, \"hip_min\": 119.0, \"hip_max\": 125.0, \"bust_min\": 142.0, \"bust_max\": 147.0}, {\"name\": \"5XL\", \"waist_min\": 129.0, \"waist_max\": 135.0, \"hip_min\": 123.0, \"hip_max\": 129.0, \"bust_min\": 152.0, \"bust_max\": 157.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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: solid black, plain\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 fit you, a black women's swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a swimsuit feels unstable while swimming\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eCut and material can play a role – depending on how much movement you like in the water.\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\u003eThe swimsuit slips while swimming and constantly needs to be adjusted\u003c\/li\u003e\n\n\u003cli\u003eThe material feels heavy and uncomfortable on the skin when wet\u003c\/li\u003e\n\n\u003cli\u003eOnline sizing for swimwear often doesn't really work\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou go into the water – and hardly have you swum a few strokes when you realize you need to adjust it. A brief discomfort that lasts throughout the entire swimming day. Not dramatic, but present.\u003c\/p\u003e\n\n\u003cp\u003eThis often happens when the cut and stretch of the fabric are not coordinated – the fabric gives way in one place while pulling in another. This is not solely a matter of size, but of material and workmanship.\u003c\/p\u003e\n\n\u003cp\u003eThis black swimsuit is designed for a stable fit during everyday movement in the water – when swimming, getting out, walking on the beach. The polyamide-elastane fabric (78% \/ 22%) stretches but returns to its shape. This can help it stay in place calmly throughout the day. However, if you plan daily performance swimming or are looking for specific sports features like a back strap or compression, a technical swimsuit is probably the more suitable choice.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eHow much freedom of movement do you need – and in what situations should the swimsuit primarily stay in place?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eIf you are unsure: We offer 30-day returns – so that the online decision doesn't have to be final.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Stays in place quietly when swimming and walking on the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Easily combinable – directly from the water to the promenade\u003c\/li\u003e\n\n\u003cli\u003e→ Simple black that still looks good after the holiday\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Simple black design – combinable with a scarf, shorts, or tunic\u003c\/li\u003e\n\n\u003cli\u003e✅ 78% polyamide, 22% elastane – designed for freedom of movement and shaping\u003c\/li\u003e\n\n\u003cli\u003e✅ Designed for a stable fit during everyday movement in the water\u003c\/li\u003e\n\n\u003cli\u003e✅ Delicate wash 30 °C – uncomplicated care\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for daily performance swimming or competition\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No striking pattern – if you're looking for prints or color, you'll find a different style here\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Black Swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eCut slips while swimming and needs to be adjusted\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for stable fit during movement in water – polyamide-elastane fabric stretches and returns to shape\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline sizing for swimwear often doesn't work\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator for estimating cut \u0026amp; size, plus 30-day returns\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBlack fabric quickly looks faded or dull\u003c\/td\u003e\n\n\u003ctd\u003eSolid-color design can be cared for with delicate wash 30 °C – observe instructions to preserve color\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 such situations with the black women's swimsuit – so you have to adjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow a black women's swimsuit 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. Chlorine and salt don't affect the material.\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 fit well if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eswimsuit\u003c\/strong\u003e that fits securely when swimming\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003esimple cuts\u003c\/strong\u003e without unnecessary details\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort\u003c\/strong\u003e – in the water and afterwards\u003c\/li\u003e\n\n\u003cli\u003e→ You want to \u003cstrong\u003eavoid bad purchases\u003c\/strong\u003e through clear sizing information\u003c\/li\u003e\n\n\u003cli\u003e→ You buy \u003cstrong\u003econsciously\u003c\/strong\u003e instead of on speculation\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\u003cli\u003e\n\n\u003cstrong\u003eFeatures:\u003c\/strong\u003e Opaque, quick-drying\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eArea of use:\u003c\/strong\u003e Swimming, beach, pool - rinsing after bathing is recommended\u003c\/li\u003e\n\n  \u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently asked questions about women's black swimsuits\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does a black plus size swimsuit fit when moving in the water?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe swimsuit is designed for a stable fit during everyday movement – swimming, getting out, walking on the beach. The polyamide-elastane fabric (78% \/ 22%) stretches and returns to its shape, which can help it stay in place calmly throughout the day. For intense performance swimming, a special sports swimsuit is more suitable.\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 find the right size for a women's plus size swimsuit online?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator helps you estimate the cut and size based on your height and weight. If you are unsure about swimwear, you can also take advantage of our 30-day return policy – the online decision doesn't have to be final.\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 a plain black women's swimsuit?\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 – this preserves the material and shape. This way, the black stays rich for 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 a simple plus size swimsuit be combined with other items?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe solid black design can be easily combined with a light scarf, shorts, or a tunic – from the water to the promenade, without having to change.\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\"\u003eFor whom is this women's plus size swimsuit rather unsuitable?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThose who engage in daily intense swimming sessions or are looking for specific sports features like a back strap, compressing panels, or a competition fit would be better served with a technical swimsuit. This swimsuit is designed for comfort and a stable fit in everyday life – not for competitive sports.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-mit-bauchweg-effekt-im-sale\"\u003eSwimsuits with tummy control effect on sale\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-die-den-bauch-kaschieren\"\u003eSwimsuits that flatter the tummy\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eWomen's Swimsuit\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=\"Black one-piece at Lake Constance – soft afternoon light, calm silhouette\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Leaving the outdoor pool – fabric fits snugly, no wrinkles\" 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 to order – this reduces overproduction and warehouse stock 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 scenarios above, the black women's swimsuit could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Black Swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€49.98\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        In the end, it's not about the garment itself, but about the moments you experience in it. \n        We hope that the black women's swimsuit 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: 2026-05-16\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\": \"Badeanzug Damen schwarz\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/1284031848870.png?v=1752328252\", \"category\": \"badeanzug\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"49.98\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Ebony black \/ 3XL","offer_id":45166174175500,"sku":"CJNSSYQQ00667-Black-3XL","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ L","offer_id":45166174208268,"sku":"CJNSSYQQ00667-Black-L","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ M","offer_id":45166174241036,"sku":"CJNSSYQQ00667-Black-M","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ S","offer_id":45166174273804,"sku":"CJNSSYQQ00667-Black-S","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ XL","offer_id":45166174306572,"sku":"CJNSSYQQ00667-Black-XL","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ XXL","offer_id":45166174339340,"sku":"CJNSSYQQ00667-Black-XXL","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Blue \u0026amp; Flowers \/ 3XL","offer_id":45166174372108,"sku":"CJNSSYQQ00667-Blue print-3XL","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Blue \u0026amp; Flowers \/ L","offer_id":45166174404876,"sku":"CJNSSYQQ00667-Blue print-L","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Blue \u0026amp; Flowers \/ M","offer_id":45166174437644,"sku":"CJNSSYQQ00667-Blue print-M","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Blue \u0026amp; Flowers \/ S","offer_id":45166174470412,"sku":"CJNSSYQQ00667-Blue print-S","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Blue \u0026amp; Flowers \/ XL","offer_id":45166174503180,"sku":"CJNSSYQQ00667-Blue print-XL","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Blue \u0026amp; Flowers \/ XXL","offer_id":45166174535948,"sku":"CJNSSYQQ00667-Blue print-XXL","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ 3XL","offer_id":45166174568716,"sku":"CJNSSYQQ00667-Blue-3XL","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ L","offer_id":45166174601484,"sku":"CJNSSYQQ00667-Blue-L","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ M","offer_id":45166174634252,"sku":"CJNSSYQQ00667-Blue-M","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ S","offer_id":45166174667020,"sku":"CJNSSYQQ00667-Blue-S","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ XL","offer_id":45166174699788,"sku":"CJNSSYQQ00667-Blue-XL","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Navy blue \/ XXL","offer_id":45166174732556,"sku":"CJNSSYQQ00667-Blue-XXL","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ 3XL","offer_id":45166174765324,"sku":"CJNSSYQQ00667-Lake blue-3XL","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ L","offer_id":45166174798092,"sku":"CJNSSYQQ00667-Lake blue-L","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ M","offer_id":45166174830860,"sku":"CJNSSYQQ00667-Lake blue-M","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ S","offer_id":45166174863628,"sku":"CJNSSYQQ00667-Lake blue-S","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ XL","offer_id":45166174896396,"sku":"CJNSSYQQ00667-Lake blue-XL","price":49.98,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ XXL","offer_id":45166174929164,"sku":"CJNSSYQQ00667-Lake blue-XXL","price":49.98,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/1284031848870.png?v=1752328252"},{"product_id":"badeanzug-damen-freier-rucken-mit-shape-effekt","title":"Black Mesh One-Piece Swimsuit for Women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a swimsuit body-shaping while remaining open?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a swimsuit just fits – without pinching, without needing adjustment.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd that's precisely how many notice the difference – not at first glance, but when moving in the water.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Black Swimsuit with Mesh Inserts – Body-Shaping with an Open Back\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nSubtle mesh inserts and a shaping cut – designed for a smoother silhouette without being constrictive. Solid black, clean in appearance.\u003c\/p\u003e\n\n\u003cp\u003eThe design follows a simple idea: a black swimsuit for women that is less loud on the body than it appears. The mesh sections add accents without being conspicuous – a small visual contrast that emphasizes the lines. On the shores of Lake Constance, when the light falls flat over the water and you go for a dip, it's precisely this quiet presence that counts.\u003c\/p\u003e\n\n\u003cp\u003eThe open back gives the model a modern, airy effect – even in situations where you move from the water to a sun lounger without wanting to hide. The shaping insert in the abdominal area can help the silhouette appear smoother without visibly shaping. The black keeps the overall look calm and versatile – over a sarong, under an open shirt, or alone by the pool.\u003c\/p\u003e\n\n\u003cp\u003eThis swimsuit can be a good fit if you want to be by the pool without drawing too much attention – yet still with a sense of form. For holidays by the lake, when the day flows from water to terrace. Or for thermal spa visits, where comfort and appearance matter equally.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The fabric adapts with you when swimming – without pulling or slipping.\u003cbr\u003e• The mesh inserts remain subtly visible, even when the swimsuit is wet.\u003cbr\u003e• The open back feels light – the cut still provides structure.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf the interplay of a calm look and a shaping cut is important to you, this model might be worth a closer look.\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-badeanzug\"\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_badeanzug()\"\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_badeanzug() {\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_badeanzug() {\n        const genderSelect = document.getElementById('bn_gender');\n        if (genderSelect) {\n            genderSelect.addEventListener('change', toggleGenderFields_badeanzug);\n            toggleGenderFields_badeanzug();\n        } else {\n            setTimeout(initGenderToggle_badeanzug, 100);\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initGenderToggle_badeanzug);\n    } else {\n        initGenderToggle_badeanzug();\n    }\n})();\n\nfunction calculateSize_badeanzug() {\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\", \"height_min\": 148, \"height_max\": 158, \"weight_min\": 42, \"weight_max\": 52}, {\"name\": \"S\", \"height_min\": 153, \"height_max\": 163, \"weight_min\": 50, \"weight_max\": 60}, {\"name\": \"M\", \"height_min\": 158, \"height_max\": 168, \"weight_min\": 58, \"weight_max\": 68}, {\"name\": \"L\", \"height_min\": 163, \"height_max\": 173, \"weight_min\": 66, \"weight_max\": 76}, {\"name\": \"XL\", \"height_min\": 168, \"height_max\": 178, \"weight_min\": 74, \"weight_max\": 84}, {\"name\": \"2XL\", \"height_min\": 173, \"height_max\": 183, \"weight_min\": 82, \"weight_max\": 92}]}];\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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Solid black, mesh inserts, open back, shaping cut\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 mesh women's swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen tummy shaping and an open back need to work together\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eWhat this cut can do – and what it's less intended for.\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\u003eShaping swimsuits often feel too tight and restrictive\u003c\/li\u003e\n\n\u003cli\u003eAn open back often lacks a feeling of stability\u003c\/li\u003e\n\n\u003cli\u003eThe abdominal area in many models either looks too emphasized or barely shaped\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany shaping swimsuits only partially solve the problem: either they shape but feel stiff – or they have an open cut but lack support. Especially in the abdominal and hip area, this is a common compromise that you only notice when you actually move in the water.\u003c\/p\u003e\n\n\u003cp\u003eThis is often due to the choice of material and the cut: firm material provides structure but restricts movement. Soft, stretchy fabrics can adapt but provide less contour. The mix of 78% polyamide and 22% elastane in this model is designed to combine both in a balanced way – shaping, but not compressing.\u003c\/p\u003e\n\n\u003cp\u003eThe shaping insert aims for subtle camouflage in the abdominal area – not strong compression. If you are looking for very pronounced abdominal compression or prefer a classic closed back, this model may not be the first choice. However, for a calmer, smoother appearance with an open back, it can be a suitable option.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eHow much shaping is important to you – and how open should the back be?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you assess the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eCheck the size overview if you are still unsure about the cut.\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→ Typically chosen for beach days when both form and look matter\u003c\/li\u003e\n\n\u003cli\u003e→ Suitable for swimming, pool visits, and holidays with an open back\u003c\/li\u003e\n\n\u003cli\u003e→ Often chosen in situations where a calm, smoother silhouette is important\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✅ Shaping insert can make the abdominal and hip area appear smoother under normal stress\u003c\/li\u003e\n\n\u003cli\u003e✅ Open back with a shaping cut – both in one model\u003c\/li\u003e\n\n\u003cli\u003e✅ 78% Polyamide, 22% Elastane – designed for flexibility and shaping\u003c\/li\u003e\n\n\u003cli\u003e✅ Subtle mesh inserts without an intrusive effect\u003c\/li\u003e\n\n\u003cli\u003e✅ Solid black – timelessly combinable\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not ideal if very strong abdominal compression is desired\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not ideal if a classically closed back is preferred\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Requires delicate wash care – not suitable if uncomplicated machine washing is important\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 criticize about 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 for similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Black Mesh Women's Swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eMany shaping swimsuits offer only slight abdominal shaping and little structure\u003c\/td\u003e\n\n\u003ctd\u003eThe shaping insert can subtly make the abdominal area appear smoother – even with an open back\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOpen back solutions often lack support in the bust area\u003c\/td\u003e\n\n\u003ctd\u003eShaping cut and elastane content can contribute to a more stable fit\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eShaping models with firm material often feel inflexible\u003c\/td\u003e\n\n\u003ctd\u003e22% elastane is designed for a blend of shaping and flexibility\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eShaping swimsuits are often visually very closed and less versatile\u003c\/td\u003e\n\n\u003ctd\u003eThe open back gives the model an airier look while maintaining a shaping cut\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 exactly such situations with the black mesh women's swimsuit – so you have to adjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the black mesh women's swimsuit 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 during 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\u003eAt 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. Chlorine and salt don't affect the material.\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\u003eCould be a good fit if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eswimsuit\u003c\/strong\u003e that fits securely when swimming\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003esimple cuts\u003c\/strong\u003e without unnecessary details\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort\u003c\/strong\u003e – in and out of the water\u003c\/li\u003e\n\n\u003cli\u003e→ You want to \u003cstrong\u003eavoid bad purchases\u003c\/strong\u003e through clear size information\u003c\/li\u003e\n\n\u003cli\u003e→ You buy \u003cstrong\u003econsciously\u003c\/strong\u003e instead of on spec\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\u003cli\u003e\n\n\u003cstrong\u003eFeatures:\u003c\/strong\u003e Opaque, quick-drying\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eArea of use:\u003c\/strong\u003e Swimming, beach, pool - rinsing after bathing is recommended\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 Mesh Women's Swimsuit\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does a body-shaping swimsuit with an open back fit when swimming?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe cut is designed for freedom of movement – the elastane content of 22% allows for stretch, while the shaping insert in the abdominal area provides subtle contour. Under normal use in water, the fit generally remains stable without being restrictive.\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 black swimsuit with mesh inserts suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThis model can be a good fit if a calm, smooth appearance is a priority and an open back is desired. Those who prefer very strong abdominal compression or a completely closed back might be better off choosing a different cut.\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 care for the swimsuit after bathing?\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 at 30 °C on a delicate cycle. Do not tumble dry – this protects the material and shape.\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 strong is the shaping effect of this swimsuit?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe shaping insert aims for a more subtle camouflage in the abdominal area – it can help to make the silhouette appear smoother. Very pronounced, strongly shaping compression is not the goal of this cut.\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 find the right size for this swimsuit?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eIf unsure, the size calculator helps: enter height and weight to better estimate the cut. For shaping models, it can help to choose one size larger if you are between two sizes.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eWomen's Swimsuit\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-der-zeitlose-klassiker-fur-jeden-anlass\"\u003eBlack Swimsuit: The Timeless Classic for Every Occasion\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-damen\"\u003eBlack Women's Swimsuit\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=\"Mesh inserts when wet – subtly visible, not intrusive\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Open back from behind – open yet structured\" 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 receipt\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce to order – this reduces overproduction and stock, 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 checked 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 scenarios above, the black mesh women's swimsuit could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eBlack Mesh Women's Swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€35.95\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 mesh women's swimsuit 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: 2026-05-16\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 Badeanzug Mesh Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/IMG-20240610-WA0012.png?v=1751900233\", \"category\": \"badeanzug\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"35.95\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Ebony black \/ XS","offer_id":45166195704076,"sku":"CJYDYYYJ00373-Black-XS","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ S","offer_id":45166195638540,"sku":"CJYDYYYJ00373-Black-S","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ M","offer_id":45166195605772,"sku":"CJYDYYYJ00373-Black-M","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ L","offer_id":45166195573004,"sku":"CJYDYYYJ00373-Black-L","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ XL","offer_id":45166195671308,"sku":"CJYDYYYJ00373-Black-XL","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ XXL","offer_id":45166195736844,"sku":"CJYDYYYJ00373-Black-XXL","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Ocean blue \/ XS","offer_id":45166195900684,"sku":"CJYDYYYJ00373-Blue-XS","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Ocean blue \/ S","offer_id":45166195835148,"sku":"CJYDYYYJ00373-Blue-S","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Ocean blue \/ M","offer_id":45166195802380,"sku":"CJYDYYYJ00373-Blue-M","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Ocean blue \/ L","offer_id":45166195769612,"sku":"CJYDYYYJ00373-Blue-L","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Ocean blue \/ XL","offer_id":45166195867916,"sku":"CJYDYYYJ00373-Blue-XL","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Ocean blue \/ XXL","offer_id":45166195933452,"sku":"CJYDYYYJ00373-Blue-XXL","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Dotted \/ XS","offer_id":45166196097292,"sku":"CJYDYYYJ00373-Wave point-XS","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Dotted \/ S","offer_id":45166196031756,"sku":"CJYDYYYJ00373-Wave point-S","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Dotted \/ M","offer_id":45166195998988,"sku":"CJYDYYYJ00373-Wave point-M","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Dotted \/ L","offer_id":45166195966220,"sku":"CJYDYYYJ00373-Wave point-L","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Dotted \/ XL","offer_id":45166196064524,"sku":"CJYDYYYJ00373-Wave point-XL","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Dotted \/ XXL","offer_id":45166196130060,"sku":"CJYDYYYJ00373-Wave point-XXL","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ XS","offer_id":45166196293900,"sku":"CJYDYYYJ00373-Wine red-XS","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ S","offer_id":45166196228364,"sku":"CJYDYYYJ00373-Wine red-S","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ M","offer_id":45166196195596,"sku":"CJYDYYYJ00373-Wine red-M","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ L","offer_id":45166196162828,"sku":"CJYDYYYJ00373-Wine red-L","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ XL","offer_id":45166196261132,"sku":"CJYDYYYJ00373-Wine red-XL","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Cherry red \/ XXL","offer_id":45166196326668,"sku":"CJYDYYYJ00373-Wine red-XXL","price":35.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/IMG-20240610-WA0012.png?v=1751900233"},{"product_id":"badeanzug-damen-kontrast","title":"Women's Colorblock Swimsuit","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a swimsuit that stays put – in the water and in view?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that relaxed feeling when a one-piece just fits – without you having to think about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eOften, only after the second or third wear does it become clear whether a swimsuit truly suits everyday life – or not.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Contrast Swimsuit with Color Block Stripes – for Lake, Pool and Vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nA one-piece cut with color block and stripe details – designed for customers who are looking for a calm look with a clear accent, without loud patterns or striking prints.\u003c\/p\u003e\n\n\u003cp\u003eThe color block design works with clearly defined contrast areas: Not embellishment, but structure. The stripes create lines where other swimsuits simply leave space. On the shore of the lake, when the light falls flat on the water, this combination appears surprisingly understated – clear, but not loud.\u003c\/p\u003e\n\n\u003cp\u003ePut on in the changing room of the outdoor pool, on the way to the entry ladder: The women's contrast swimsuit in this color scheme blends into calm environments without disappearing. Two color areas that complement each other instead of competing. For customers looking for combinable swimwear without a strong statement, this can be a harmonious choice.\u003c\/p\u003e\n\n\u003cp\u003eA day at the lake on vacation, in the afternoon on the grass, then another swim – this one-piece is designed for such changing moments. Not for the catwalk, not for maximum attention. More for days when the outfit should simply work.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The color block stands out – but not in a loud way. More like it just belongs.\u003cbr\u003e• The stripes create lines that guide the eye without dominating.\u003cbr\u003e• In the water and on the lounger: The design remains equally legible – this distinguishes it from more playful patterns.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you are looking for simple swimwear with a clear line, this one-piece might fit – check the sizes and see if the cut matches your expectations.\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-badeanzug\"\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_badeanzug()\"\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_badeanzug() {\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_badeanzug() {\n        const genderSelect = document.getElementById('bn_gender');\n        if (genderSelect) {\n            genderSelect.addEventListener('change', toggleGenderFields_badeanzug);\n            toggleGenderFields_badeanzug();\n        } else {\n            setTimeout(initGenderToggle_badeanzug, 100);\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initGenderToggle_badeanzug);\n    } else {\n        initGenderToggle_badeanzug();\n    }\n})();\n\nfunction calculateSize_badeanzug() {\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\": \"L\"}, \"sizes\": [{\"name\": \"S\", \"length_min\": 68.0, \"length_max\": 74.0, \"hip_min\": 75.0, \"hip_max\": 81.0, \"bust_min\": 73.0, \"bust_max\": 79.0}, {\"name\": \"M\", \"length_min\": 70.0, \"length_max\": 76.0, \"hip_min\": 79.0, \"hip_max\": 85.0, \"bust_min\": 77.0, \"bust_max\": 83.0}, {\"name\": \"L\", \"length_min\": 72.0, \"length_max\": 78.0, \"hip_min\": 84.0, \"hip_max\": 90.0, \"bust_min\": 82.0, \"bust_max\": 88.0}, {\"name\": \"XL\", \"length_min\": 74.0, \"length_max\": 80.0, \"hip_min\": 89.0, \"hip_max\": 95.0, \"bust_min\": 87.0, \"bust_max\": 93.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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30°C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Color block with stripe details, one-piece cut\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, the women's color block swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen the swimsuit doesn't deliver in the water what it promises on the hanger\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit, cut, and material behavior – what really matters with a one-piece.\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\u003eThe swimsuit fits well at first, but after a few strokes, something shifts\u003c\/li\u003e\n\n\u003cli\u003eThe material feels pleasant when dry, but completely different when wet\u003c\/li\u003e\n\n\u003cli\u003eThe cut covers enough – but I'm unsure if it really suits me\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany know the moment: You stand at the edge of the pool, enter the water – and after just a few meters, you're already adjusting it. Not dramatic, but noticeable. This happens when the cut and material are not coordinated, or the size isn't quite right.\u003c\/p\u003e\n\n\u003cp\u003eA common reason for this is often the ratio of elasticity and recovery power. Materials with elastane content can move with the body during activity – how strongly depends on the proportion, processing, and cut. With this swimsuit (78% polyamide, 22% elastane), the elastane content is designed to support a close-fitting shape. Whether this works for you will only become apparent with the correct size.\u003c\/p\u003e\n\n\u003cp\u003eThis one-piece can be an option for customers who are looking for a simple swimsuit with contrast details – for indoor pools, lakes, or holidays. However, if you expect strong shaping for the stomach or bust, or prefer very striking designs, this model is probably not your style.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eWould a swimsuit that appears rather calm and clear suit your swim day – or are you looking for something with more of a statement?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you to estimate the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eCheck out the available sizes and see which one might be right for you.\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→ A secure fit when swimming in the indoor pool or lake\u003c\/li\u003e\n\n\u003cli\u003e→ Moving from water to lounger without readjusting\u003c\/li\u003e\n\n\u003cli\u003e→ Vacation days with varying activities – beach, lake, pool\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Calm color-block look with stripe details – no loud print\u003c\/li\u003e\n\n\u003cli\u003e✅ Elastane content (22%) for a close fit during movement – with the right size\u003c\/li\u003e\n\n\u003cli\u003e✅ One-piece cut for lake, pool, and indoor swimming\u003c\/li\u003e\n\n\u003cli\u003e✅ Care instructions (delicate wash 30 °C) can help treat the material gently\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not designed for strong tummy or bust shaping\u003c\/li\u003e\n\n\u003cli\u003e⚠️ More for a calm look – those looking for statement prints or very vibrant designs will probably not find what they are looking for here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not the right model for very conservative or maximally covering cuts\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 for similar ones\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Color Block Swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSwimsuits slip after prolonged wear or movement in the water\u003c\/td\u003e\n\n\u003ctd\u003e22% elastane can support a close fit – the specific fit also depends on the cut and size chosen\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eMany one-pieces often appear optically restless or cluttered\u003c\/td\u003e\n\n\u003ctd\u003eThe color-block design with stripes is designed for a reduced, structured look\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\u003ctr class=\"bn-compare-row-1\"\u003e\n\n\u003ctd\u003eSwimwear loses its shape and surface more quickly with frequent washing\u003c\/td\u003e\n\n\u003ctd\u003eCare instructions (delicate wash 30 °C, no tumble dryer) can help to treat the material more gently\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\u003ctr class=\"bn-compare-row-2\"\u003e\n\n\u003ctd\u003eSome one-pieces feel heavy or inflexible in the water\u003c\/td\u003e\n\n\u003ctd\u003eThe polyamide-elastane mix is designed for flexibility – how it feels for you depends on the correct size\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 considered exactly these situations with the women's color block swimsuit – 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 the Women's Color Block Swimsuit 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 during 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\u003eAt 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. Chlorine and salt don't affect the material.\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 fit well if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eswimsuit\u003c\/strong\u003e that fits securely when swimming\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003esimple cuts\u003c\/strong\u003e without unnecessary details\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort\u003c\/strong\u003e – in and out of the water\u003c\/li\u003e\n\n\u003cli\u003e→ You want to \u003cstrong\u003eavoid bad purchases\u003c\/strong\u003e with clear sizing information\u003c\/li\u003e\n\n\u003cli\u003e→ You buy \u003cstrong\u003econsciously\u003c\/strong\u003e rather than on speculation\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\u003cli\u003e\n\n\u003cstrong\u003eFeatures:\u003c\/strong\u003e Opaque, quick-drying\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eArea of Use:\u003c\/strong\u003e Swimming, beach, pool - rinsing after bathing recommended\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 the Women's Color Block Swimsuit\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does this Women's Color Block Swimsuit fit when moving in the water?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe elastane content (22%) can help the swimsuit stay close to the body during movement. The cut and chosen size are also crucial – if unsure, it can help to use the size calculator and, if in doubt, choose one size larger.\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 this simple swimsuit with a color-block pattern rather not suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThis model is not designed for customers who expect strong abdominal or bust shaping. Those looking for striking prints or conservative maximum coverage will probably not find what they are looking for here either.\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 the swimsuit after wearing it?\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 – this protects the material and can help preserve its shape and surface 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\"\u003eWhat characterizes the color block look of this women's swimsuit?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe design combines clearly defined color areas with stripe details. This creates a structured but subtle look – not a loud print, but a calm contrast.\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\"\u003eWhat material is this sporty women's swimsuit with stripes and color block made of?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003e78% polyamide and 22% elastane. Polyamide is a common material for swimwear, designed for flexibility and comfortable wear. The elastane content supports stretchability.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eWomen's Swimsuit\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-der-zeitlose-klassiker-fur-jeden-anlass\"\u003eBlack Swimsuit: The Timeless Classic for Every Occasion\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-damen\"\u003eBlack Women's Swimsuit\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=\"Clear color block areas with stripes on the lakeshore in the afternoon light\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"One-piece on the lounger – calm look that blends into natural environments\" 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 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 checked 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 scenarios above, the Women's Color Block Swimsuit could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Color Block Swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€29.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 Women's Color Block Swimsuit 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: 2026-05-16\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\": \"Badeanzug Damen Farbblock\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/IMG-20240610-WA0043.png?v=1750427574\", \"category\": \"badeanzug\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"29.99\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Black-and-white \/ L","offer_id":45279843287308,"sku":"CJNT198985403CX","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Black-and-white \/ M","offer_id":45279843320076,"sku":"CJNT198985402BY","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Black-and-white \/ S","offer_id":45279843352844,"sku":"CJNT198985401AZ","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Black-and-white \/ XL","offer_id":45279843385612,"sku":"CJNT198985404DW","price":29.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/IMG-20240610-WA0043.png?v=1750427574"},{"product_id":"badeanzug-damen-mit-kurzer-hose","title":"Women's Giraffe Print Swimsuit","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a swimsuit that fits perfectly at the beach – and keeps its pattern calm?\u003c\/p\u003e\u003c\/div\u003e\n\n  \n  \n  \u003ch2\u003eGiraffe Print Women's Swimsuit with Short Legs – Black and White for Lake and Beach\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nShort integrated legs for more freedom of movement – subtle black and white pattern that isn't intrusive, fabric made of 78% polyamide and 22% elastane for comfortable wear.\u003c\/p\u003e\n\n\u003cp\u003eThe giraffe print isn't a loud statement – it's a calm pattern that looks different in the light of the lake than in the shade of the parasol. The black and white areas flow into each other without competing. If you like to wear patterns that you only truly discover on a second look, this offers something harmonious.\u003c\/p\u003e\n\n\u003cp\u003eOn the shores of Lake Constance, when you walk from the water back to your lounger, the pattern doesn't stand out – it blends in. Combined with a simple white oversized shirt or a beige linen cloth, it works together without looking planned. Even at the pool, where many colorful patterns clash, black and white remains a calm choice.\u003c\/p\u003e\n\n\u003cp\u003eAs a gift for someone who prefers subtle swimwear, this swimsuit is easy to assess: no neon yellow, no large logos, no exaggeration. The giraffe print says \"I like things with a quiet character\" rather than \"look at me\". For trips where you pack light but still want to be well-dressed, this can be a practical idea.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• You put it on in the morning and know that the pattern will carry you through the day – without being too much.\u003cbr\u003e• By the water, you notice that black and white looks clearer in the sun than in the store – the pattern has a calm of its own.\u003cbr\u003e• You reach for it in the morning because it combines with what you already have with you.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you're looking for the right size: Our size calculator will help you.\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-badeanzug\"\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 (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_badeanzug()\"\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_badeanzug() {\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_badeanzug() {\n        const genderSelect = document.getElementById('bn_gender');\n        if (genderSelect) {\n            genderSelect.addEventListener('change', toggleGenderFields_badeanzug);\n            toggleGenderFields_badeanzug();\n        } else {\n            setTimeout(initGenderToggle_badeanzug, 100);\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initGenderToggle_badeanzug);\n    } else {\n        initGenderToggle_badeanzug();\n    }\n})();\n\nfunction calculateSize_badeanzug() {\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\": \"S\", \"waist_min\": 66.0, \"waist_max\": 69.0, \"hip_min\": 93.0, \"hip_max\": 95.0, \"bust_min\": 86.0, \"bust_max\": 89.0}, {\"name\": \"M\", \"waist_min\": 71.0, \"waist_max\": 74.0, \"hip_min\": 98.0, \"hip_max\": 100.0, \"bust_min\": 91.0, \"bust_max\": 94.0}, {\"name\": \"L\", \"waist_min\": 77.0, \"waist_max\": 81.0, \"hip_min\": 100.0, \"hip_max\": 104.0, \"bust_min\": 98.0, \"bust_max\": 101.0}, {\"name\": \"XL\", \"waist_min\": 84.0, \"waist_max\": 89.0, \"hip_min\": 111.0, \"hip_max\": 115.0, \"bust_min\": 101.0, \"bust_max\": 109.0}, {\"name\": \"2XL\", \"waist_min\": 91.0, \"waist_max\": 97.0, \"hip_min\": 120.0, \"hip_max\": 126.0, \"bust_min\": 111.0, \"bust_max\": 117.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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Black and white giraffe print, short integrated legs\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, the Giraffe Print Women's Swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen swimwear demands more attention than the day itself\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA calm pattern that moves with you – without trailing behind.\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\u003eSwimsuit no longer stays where it should after swimming\u003c\/li\u003e\n\n\u003cli\u003ePattern looks different on the body than in the photo\u003c\/li\u003e\n\n\u003cli\u003eSize ordered online, but doesn't fit as expected\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eSome swimsuits look good in photos – but at the lake, when you go into the water and come out again, you notice that something has shifted. The cut pulls, the pattern suddenly seems louder, and you think more about the swimsuit than about the day.\u003c\/p\u003e\n\n\u003cp\u003eThis is often due to the interplay of cut and material: If the fabric has little elasticity or the cut is not designed for movement, it shows with the first jump into the water. The same applies to patterns – what looks subtle in a flat image can read differently on a moving body.\u003c\/p\u003e\n\n\u003cp\u003eThis Giraffe Print Swimsuit with short legs is designed for calm swimming days – lake, pool, beach, vacation. The short legs can help the fit remain more stable during movement. The black and white pattern is designed to retain its character even when wet. However, if you are looking for a swimsuit for intense swimming sessions or competitive water sports, it is not designed for that – there are more specialized models for that. Does this fit how you experience swim days?\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate the cut and size – just enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e30-day returns if it doesn't fit.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Sits calmly while swimming and walking on the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Black and white pattern remains clear and subtle even when wet\u003c\/li\u003e\n\n\u003cli\u003e→ Combines easily with simple beach accessories\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✅ Subtle black and white giraffe print – calm look that doesn't overwhelm on the body\u003c\/li\u003e\n\n\u003cli\u003e✅ Short integrated legs – can contribute to a more stable fit during normal movement\u003c\/li\u003e\n\n\u003cli\u003e✅ 78% polyamide, 22% elastane – soft and comfortable, conforms to the body\u003c\/li\u003e\n\n\u003cli\u003e✅ Easy care: Delicate wash 30 °C\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not designed for competitive sports or intense daily swimming sessions\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer very striking colors or large graphic prints will likely not find their style here\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✅ Giraffe Print Women's Swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eCut shifts when swimming\u003c\/td\u003e\n\n\u003ctd\u003eShort integrated legs designed for a more stable fit during normal movement in the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks different on the body than expected\u003c\/td\u003e\n\n\u003ctd\u003eCalm black and white pattern that retains its character on the body and in motion\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSize difficult to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator + 30-day return – try it risk-free\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 exactly these situations with the Giraffe Print Women's Swimsuit – so you have to adjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the Giraffe Print Women's Swimsuit 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\u003eSalt water, 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. Chlorine and salt don't affect the material.\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\u003eMight be a good fit if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eswimsuit\u003c\/strong\u003e that fits securely when swimming\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003esimple cuts\u003c\/strong\u003e without unnecessary details\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort\u003c\/strong\u003e – in and out of the water\u003c\/li\u003e\n\n\u003cli\u003e→ You want to \u003cstrong\u003eavoid bad purchases\u003c\/strong\u003e through clear size information\u003c\/li\u003e\n\n\u003cli\u003e→ You buy \u003cstrong\u003econsciously\u003c\/strong\u003e instead of on speculation\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\u003cli\u003e\n\n\u003cstrong\u003eFeatures:\u003c\/strong\u003e Opaque, quick-drying\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eArea of use:\u003c\/strong\u003e Swimming, beach, pool - rinsing after bathing recommended\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 the Giraffe Print Women's Swimsuit\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does the Giraffe Print Swimsuit with short legs fit during movement?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe swimsuit is cut with short integrated legs, which can contribute to a more stable fit during normal movement in the water. It is not designed for intense competitive sports or daily swimming sessions – it is more suitable for relaxed swimming days at the lake, pool, or beach.\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 find the right size for the Giraffe Print Women's Swimsuit?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSince swimwear sizes can vary depending on the cut, we recommend our size calculator – simply enter your height and weight. If you're unsure, our 30-day return policy also helps if the size doesn't fit.\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 care for the swimsuit properly after bathing?\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 at 30 °C on a delicate cycle. Do not tumble dry – laying flat to air dry preserves its shape and material 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\"\u003eHow does the black and white giraffe print look on the body?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe pattern features calm black and white areas and appears more subtle than striking on the body. It combines well with simple beach accessories in white, beige, or natural colors.\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\"\u003eIs the swimsuit also suitable for Lake Constance?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes – the swimsuit is suitable for lakes, pools, and beaches. It is designed for relaxed swimming days, not for athletic swimming sessions. The material (78% polyamide, 22% elastane) is designed for regular water contact.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eWomen's Swimsuit\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-der-zeitlose-klassiker-fur-jeden-anlass\"\u003eBlack Swimsuit: The timeless classic for every occasion\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-damen\"\u003eWomen's Black Swimsuit\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=\"Schwarz-Weiß Giraffenmuster im Sonnenlicht am Seeufer\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Kurze Hose in Bewegung – beim Ins-Wasser-Gehen\" 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 receipt\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce to order – this reduces overproduction and inventory 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 according to 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 scenarios above, the Giraffe Print Women's Swimsuit can be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eGiraffe Print Women's Swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€29.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 Giraffe Print Women's Swimsuit 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: 16.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\": \"Giraffen Muster Badeanzug Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/3bdbdb8d-2f16-43b1-94d5-cfb0dc39f29c.jpg?v=1750427009\", \"category\": \"badeanzug\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"29.99\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Black and White \/ L","offer_id":45279850299660,"sku":"CJNT184907103CX","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Black and White \/ M","offer_id":45279850332428,"sku":"CJNT184907102BY","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Black and White \/ S","offer_id":45279850365196,"sku":"CJNT184907101AZ","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Black and White \/ XL","offer_id":45279850397964,"sku":"CJNT184907104DW","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Black Crack \/ L","offer_id":45279850430732,"sku":"CJNT184907107GT","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Black Crack \/ M","offer_id":45279850463500,"sku":"CJNT184907106FU","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Black Crack \/ S","offer_id":45279850496268,"sku":"CJNT184907105EV","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Black Crack \/ XL","offer_id":45279850529036,"sku":"CJNT184907108HS","price":29.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/3bdbdb8d-2f16-43b1-94d5-cfb0dc39f29c.jpg?v=1750427009"},{"product_id":"badeanzug-damen-einteilig-gestreift","title":"Women's Striped Black and White Swimsuit","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a swimsuit stay put in the water – and still fit perfectly afterwards?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that relaxed feeling when a swimsuit just works at the beach – no tugging, no second thoughts.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eMany only notice the difference after a few hours in the water – when some models start to slip and others simply stay where they belong.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Striped Swimsuit in Black and White – for Lake, Pool, and Vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nA one-piece cut with a clean black-and-white stripe pattern – designed for movement in the water and relaxed hours afterwards. The fabric, made from 78% recycled polyamide and 22% elastane, feels comfortable, stretches, and returns to shape.\u003c\/p\u003e\n\n\u003cp\u003eThe stripe pattern is horizontal and clear – no ornaments, no prints, just the calm of black and white side by side. Anyone who has stood on the shores of Lake Constance early in the morning knows this moment: The light lies flat on the water, the world is still quiet. This pattern carries exactly this mood. Timeless in the best sense – not because it is fashionably neutral, but because it has an attitude.\u003c\/p\u003e\n\n\u003cp\u003eAt the beach, it lies flat on the sun lounger without the pattern appearing restless. When entering the water, when the fabric gets wet for the first time, the shape remains recognizable – the stripes don't shift, the image stays clear. If you combine it with a simple wrap skirt or a light linen jacket, you don't need anything else. The women's striped swimsuit maintains the balance between beach and café terrace without bending over backwards.\u003c\/p\u003e\n\n\u003cp\u003eIt's suitable for a vacation where you swim in the morning, read on a sun lounger at midday, and take a short walk along the shore in the evening – without changing your outfit in between. Also a great gift for someone who likes swimwear without much fuss: simple, clear, useful.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern looks calm – even when you move or get out of the water.\u003cbr\u003e• The fabric fits without constricting – even after longer swims.\u003cbr\u003e• The combination of black and white goes with almost everything you already have with you.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you want to compare size and cut – our size calculator will help you.\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    \u003cdiv class=\"bn-calc-form\" id=\"bn-calc-form-badeanzug\"\u003e\n\n        \u003cdiv class=\"bn-calc-field\"\u003e\n\n            \u003clabel for=\"height_badeanzug\"\u003eHeight (cm)\u003c\/label\u003e\n            \u003cinput type=\"number\" id=\"height_badeanzug\" placeholder=\"e.g. 168\"\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bn-calc-field\"\u003e\n\n            \u003clabel for=\"weight_badeanzug\"\u003eWeight (kg)\u003c\/label\u003e\n            \u003cinput type=\"number\" id=\"weight_badeanzug\" placeholder=\"e.g. 65\"\u003e\n        \u003c\/div\u003e\n\n        \u003cbutton type=\"button\" class=\"bn-calc-button\" onclick=\"calcFallback_badeanzug()\"\u003eCalculate Size\u003c\/button\u003e\n        \u003cdiv id=\"bn-calc-result-badeanzug\" class=\"bn-calc-result\"\u003e\u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\nfunction calcFallback_badeanzug() {\n    var h = parseFloat(document.getElementById('height_badeanzug').value || 0);\n    var w = parseFloat(document.getElementById('weight_badeanzug').value || 0);\n    var r = document.getElementById('bn-calc-result-badeanzug');\n    if (!h || !w) { r.innerHTML = '⚠️ Bitte Größe und Gewicht eingeben.'; return; }\n    var s = 'M';\n    if (h \u003c 160 \u0026\u0026 w \u003c 55) s = 'XS';\n    else if (h \u003c 165 \u0026\u0026 w \u003c 60) s = 'S';\n    else if (h \u003c= 170 \u0026\u0026 w \u003c= 68) s = 'M';\n    else if (h \u003c= 175 \u0026\u0026 w \u003c= 76) s = 'L';\n    else s = 'XL';\n    r.innerHTML = '✅ Empfohlene Größe: \u003cstrong\u003e' + s + '\u003c\/strong\u003e';\n}\n\n\/\/ bnInitButtons: Fallback falls onclick fehlt\n(function() {\n  function bnInitButtons() {\n    document.querySelectorAll('.bn-calc-button').forEach(function(btn) {\n      if (!btn.getAttribute('onclick')) {\n        var form = btn.closest('.bn-calc-form');\n        if (form) {\n          var fnMatch = form.id \u0026\u0026 form.id.match(\/bn-calc-form-(.+)\/);\n          var fn = fnMatch ? 'calculateSize_' + fnMatch[1] : null;\n          if (fn \u0026\u0026 typeof window[fn] === 'function') {\n            btn.addEventListener('click', function() { window[fn](); });\n          }\n        }\n      }\n    });\n    document.querySelectorAll('.bn-cta-button').forEach(function(btn) {\n      if (!btn.getAttribute('onclick')) {\n        btn.addEventListener('click', function(e) {\n          e.preventDefault();\n          e.stopPropagation();\n          \/\/ Shopify Varianten-Auswahl: Größen-\/Farbbuttons ganz oben\n          var target =\n            document.querySelector('.product-form__input') ||      \/\/ Dawn\/Horizon\n            document.querySelector('.product__selects') ||          \/\/ Debut\n            document.querySelector('[name=\"id\"]') ||                \/\/ generisch\n            document.querySelector('.variant-selects') ||\n            document.querySelector('.product-single__variants') ||\n            document.querySelector('form[action*=\"\/cart\/add\"]');    \/\/ Fallback: Formular\n          if (target) {\n            target.scrollIntoView({behavior: 'smooth', block: 'center'});\n          } else {\n            window.scrollTo({top: 0, behavior: 'smooth'});\n          }\n        });\n      }\n    });\n  }\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', bnInitButtons);\n  } else {\n    bnInitButtons();\n  }\n})();\n\u003c\/script\u003e\n\u003cstyle\u003e\n.bn-size-calculator {max-width:500px;margin:40px auto;padding:30px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;box-shadow:0 15px 40px rgba(0,0,0,.2);color:#fff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}\n.bn-size-calculator h3{text-align:center;margin:0 0 10px;font-size:28px;font-weight:700}\n.bn-calc-subtitle{text-align:center;margin:0 0 25px;opacity:.9;font-size:16px}\n.bn-calc-form{display:flex;flex-direction:column;gap:15px}\n.bn-calc-field{display:flex;flex-direction:column;gap:6px}\n.bn-calc-field label{font-size:14px;font-weight:600;opacity:.95}\n.bn-calc-field input{padding:14px;border:none;border-radius:10px;font-size:16px;background:rgba(255,255,255,.95);color:#1a202c}\n.bn-calc-button{margin-top:10px;padding:16px;background:#08890e;color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer}\n.bn-calc-result{margin-top:20px;padding:20px;background:rgba(255,255,255,.2);border-radius:12px;text-align:center;font-size:18px;font-weight:600;min-height:60px}\n.bn-calc-result:empty{display:none}\n@media(max-width:600px){.bn-size-calculator{margin:20px;padding:20px}}\n\u003c\/style\u003e\n\n\n  \u003cdiv class=\"bn-quick-benefits\"\u003e\u003cul\u003e\n\n\u003cli\u003e✔ Material: 78% Polyamide (recycled), 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicates wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: One-piece, black and white stripe pattern, horizontal\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 fit you, the women's black and white striped swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a Swimsuit doesn't stay in place in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eCut and material can help make swimwear less of an afterthought.\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\u003eThe swimsuit slips when swimming and needs constant adjustment\u003c\/li\u003e\n\n\u003cli\u003eOnline ordered sizes for swimwear often don't fit as expected\u003c\/li\u003e\n\n\u003cli\u003eThe material feels unpleasant when wet and dries slowly\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eSome swimsuits fit well – as long as you stand still. As soon as you enter the water, swim a few laps, or get up on the beach, the pulling and tugging begins. This is not a personal problem, but usually a question of cut and material behavior under stress.\u003c\/p\u003e\n\n\u003cp\u003eSwimsuits designed for movement generally use materials with a higher elastane content and cuts that don't become strained at the shoulders and back. The difference often lies in the details – in the way the back neckline runs or how the fabric is cut at the sides.\u003c\/p\u003e\n\n\u003cp\u003eThis swimsuit is designed for a secure fit during everyday movement in the water – when swimming, wading, or getting up from the sun lounger. However, if you train intensively every day or participate in competitive swimming, a specially designed sports swimsuit may be more suitable. For vacation, lake, and recreational swimming, this cut can be a calm choice.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes the cut match how you wear swimwear – more relaxed by the water or regularly in the sports pool?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you assess the cut and size – enter your height and weight. Available measurements: waist, hips, bust.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eCheck your waist, hips, and bust in the size chart – this usually gives a good indication.\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→ Stays put when swimming and walking on the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Clear stripe pattern remains visible even when wet\u003c\/li\u003e\n\n\u003cli\u003e→ Simple look that can be easily combined with other items\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ One-piece cut made from recycled polyamide and elastane – designed for movement in the water\u003c\/li\u003e\n\n\u003cli\u003e✅ Timeless black and white stripe pattern – combinable with simple beach outfits\u003c\/li\u003e\n\n\u003cli\u003e✅ Easy care at 30 °C on a delicate cycle\u003c\/li\u003e\n\n\u003cli\u003e✅ Size calculator with measurements for waist, hips, and bust\u003c\/li\u003e\n\n\u003cli\u003e✅ 30-day return policy if it doesn't fit\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for daily intensive swim training or competitive sports – specialized sports swimsuits are available for this\u003c\/li\u003e\n\n\u003cli\u003e⚠️ If you prefer striking patterns or bold colors, this subtle stripe design might not be for you\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✅ Women's Black and White Striped Swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eCut slips when swimming and needs adjustment\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for a stable fit during everyday movement in the water – elastane content stretches and returns to shape\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline sizes for swimwear often don't match\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with measurements for waist, hips, and bust as a guide – plus 30-day return policy\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eMaterial expands due to water exposure and loses shape\u003c\/td\u003e\n\n\u003ctd\u003e78% recycled polyamide with 22% elastane – designed for regular water contact during normal recreational use\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eFabric feels unpleasant when wet and sticks to the skin\u003c\/td\u003e\n\n\u003ctd\u003ePolyamide-elastane blend feels comfortable under normal conditions – even when wet\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 exactly these situations with the women's black and white striped swimsuit – 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 the women's black and white striped swimsuit 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 during 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\u003eAt 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. Chlorine and salt don't affect the material.\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 (recycled), 22% Elastane\u003cbr\u003e• Care: Delicates 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\u003eCould be a good fit if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You're looking for a \u003cstrong\u003eswimsuit\u003c\/strong\u003e that fits securely when swimming\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003esimple cuts\u003c\/strong\u003e without unnecessary details\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort\u003c\/strong\u003e – in and out of the water\u003c\/li\u003e\n\n\u003cli\u003e→ You want to \u003cstrong\u003eavoid mispurchases\u003c\/strong\u003e with clear size specifications\u003c\/li\u003e\n\n\u003cli\u003e→ You buy \u003cstrong\u003econsciously\u003c\/strong\u003e instead of on impulse\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 Delicates wash 30°C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eFeatures:\u003c\/strong\u003e Opaque, quick-drying\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eArea of Use:\u003c\/strong\u003e Swimming, beach, pool - rinsing after bathing recommended\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 Women's Black and White Striped Swimsuit\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does the swimsuit fit during 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 swimsuit is designed for a stable fit during everyday movement in the water – when swimming, wading, and getting up. Due to the elastane content in the fabric, it adapts to movements and usually stays put during normal recreational use. For daily intensive training in the swimming pool, a special sports swimsuit is generally more suitable.\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 find the right size for the one-piece women's black and white striped swimsuit?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eFor this swimsuit, we recommend measuring your waist, hips, and bust and comparing them with the size chart. Our size calculator helps to estimate the right fit. If you're unsure between two sizes, it can help to choose the larger option – especially if your bust or hips differ.\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 the swimsuit after bathing?\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, cool water, then wash on a delicates cycle at 30 °C. Do not tumble dry – this protects the material and can help maintain elasticity and shape longer. Washing inside out is also gentler on the fabric.\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\"\u003eFor which situations is this simple women's striped swimsuit intended?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe swimsuit is designed for recreational swimming, vacation, lake, and pool use – i.e., for relaxed beach days, not for regular performance training. The black and white stripe pattern is subtle enough to be worn at the beach or on a café terrace.\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\"\u003eWhat material is the swimsuit made of and is it produced sustainably?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe swimsuit is made from 78% recycled polyamide and 22% elastane. Recycled polyamide is made from reprocessed materials, which generally reduces resource consumption in production. No further sustainability certifications are available for this product.\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 return the women's black and white striped swimsuit if the size doesn't fit?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, returns are possible within 30 days. Swimwear should be tried on with underwear – please note the return conditions listed at the time of purchase.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eWomen's Swimsuit\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-der-zeitlose-klassiker-fur-jeden-anlass\"\u003eBlack Swimsuit: The Timeless Classic for Every Occasion\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-damen\"\u003eBlack Women's Swimsuit\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=\"Horizontal black and white stripes – clear and calm in the sunlight by the lake\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"One-piece cut from the front – how it fits at the shoulders and waist\" 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 warehouse stock 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 scenarios above, the women's black and white striped swimsuit might be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Black and White Striped Swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€24.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 the moments you experience in it. \n        We hope that the women's black and white striped swimsuit 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: 19.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\": \"Badeanzug Damen Streifen schwarz weiß\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/103502873888175.jpg?v=1717170744\", \"category\": \"badeanzug\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"24.99\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Striped \/ L","offer_id":45279867470092,"sku":"CJYDYYYJ00876-Picture color-L","price":24.99,"currency_code":"EUR","in_stock":true},{"title":"Striped \/ M","offer_id":45279867502860,"sku":"CJYDYYYJ00876-Picture color-M","price":24.99,"currency_code":"EUR","in_stock":true},{"title":"Striped \/ S","offer_id":45279867535628,"sku":"CJYDYYYJ00876-Picture color-S","price":24.99,"currency_code":"EUR","in_stock":true},{"title":"Striped \/ XL","offer_id":45279867568396,"sku":"CJYDYYYJ00876-Picture color-XL","price":24.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/103502873888175.jpg?v=1717170744"},{"product_id":"badenazug-damen-plusgrosse-leopard","title":"Women's Leopard Swimsuit","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n\u003cdiv class=\"bn-problem-hook\"\u003e\n\n\u003cp\u003eWhat makes a swimsuit that fits well, looks calm – and stays that way?\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\u003ch2\u003eLeopard Print and Mesh Insert Women's Swimsuit – for the Lake, Pool, and Vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003eOne-piece cut with leopard print and mesh detail – designed for wearers looking for a subtly calm animal print that doesn't immediately stand out. The material, made of 78% polyamide and 22% elastane, is designed for flexibility.\u003c\/p\u003e\n\n\u003cp\u003eLeopard print in swimwear often has a reputation that isn't always accurate: loud contrast, busy surface, too much at once. In this women's swimsuit, the pattern appears calmer – the dark base tone unifies the spots, and the one-piece cut gives structure to the overall shape. Whether by Lake Constance or at the hotel pool: The pattern stands out without dominating.\u003c\/p\u003e\n\n\u003cp\u003eThe mesh insert adds a subtle accent that lightens the design without breaking up the silhouette. For those who emerge from the water and push their hair out of their face without checking the fit twice – this is precisely the moment the cut is designed for. The combination of a dark base tone, leopard print, and mesh can create a calmer overall look for some body types than a purely uniform model.\u003c\/p\u003e\n\n\u003cp\u003eAs a vacation souvenir or as your own choice for the open-air pool season: This swimsuit is suitable for situations where you want to be neither too conspicuous nor too inconspicuous. It wears well at the beach, during a spa day, or at the hotel pool, without feeling like you're dressing up.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The leopard print appears detailed up close – and calm and cohesive from a distance.\u003cbr\u003e• The one-piece can be worn from the water to the lounger without feeling like it's losing its shape.\u003cbr\u003e• The mesh insert provides a subtle contrast that structures the pattern rather than amplifying it.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eTake a close look at the pattern – the size chart will help you estimate the right cut.\u003c\/strong\u003e\u003c\/p\u003e\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\u003cdiv class=\"bn-calc-form\" id=\"bn-calc-form-badeanzug\"\u003e\n\n\u003cdiv class=\"bn-calc-field\"\u003e\n\n\u003clabel for=\"bn_height\"\u003eHeight (cm)\u003c\/label\u003e \u003cinput type=\"number\" id=\"bn_height\" name=\"bn_height\" placeholder=\"e.g. 175\"\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"bn-calc-field\"\u003e\n\n\u003clabel for=\"bn_weight\"\u003eWeight (kg)\u003c\/label\u003e \u003cinput type=\"number\" id=\"bn_weight\" name=\"bn_weight\" placeholder=\"e.g. 70\"\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"bn-calc-field\"\u003e\n\n\u003clabel for=\"bn_bust\"\u003eBust Circumference (cm) (optional)\u003c\/label\u003e \u003cinput type=\"number\" id=\"bn_bust\" name=\"bn_bust\" placeholder=\"e.g. 90\"\u003e\n\n\u003c\/div\u003e\n\n\u003cbutton type=\"button\" class=\"bn-calc-button\"\u003eCalculate Size\u003c\/button\u003e\n\u003cdiv id=\"bn-calc-result\" class=\"bn-calc-result\"\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\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\u003cdiv class=\"bn-product-copy\"\u003e\n\n\u003cscript\u003e\n\n\/\/ 🔥 Geschlechts-abhängige Felder ein-\/ausblenden\nfunction toggleGenderFields_badeanzug() {\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_badeanzug() {\n        const genderSelect = document.getElementById('bn_gender');\n        if (genderSelect) {\n            genderSelect.addEventListener('change', toggleGenderFields_badeanzug);\n            toggleGenderFields_badeanzug();\n        } else {\n            setTimeout(initGenderToggle_badeanzug, 100);\n        }\n    }\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initGenderToggle_badeanzug);\n    } else {\n        initGenderToggle_badeanzug();\n    }\n})();\n\nfunction calculateSize_badeanzug() {\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\": 90, \"bust\": 90, \"hip\": 90, \"size_true\": \"M\"}, \"sizes\": [{\"name\": \"L\", \"waist_min\": 75.0, \"waist_max\": 81.0, \"hip_min\": 89.0, \"hip_max\": 95.0, \"bust_min\": 87.0, \"bust_max\": 93.0, \"length_min\": 63.0, \"length_max\": 69.0}, {\"name\": \"XL\", \"waist_min\": 81.0, \"waist_max\": 87.0, \"hip_min\": 95.0, \"hip_max\": 101.0, \"bust_min\": 93.0, \"bust_max\": 99.0, \"length_min\": 65.0, \"length_max\": 71.0}, {\"name\": \"2XL\", \"waist_min\": 87.0, \"waist_max\": 93.0, \"hip_min\": 101.0, \"hip_max\": 107.0, \"bust_min\": 99.0, \"bust_max\": 105.0, \"length_min\": 67.0, \"length_max\": 73.0}, {\"name\": \"3XL\", \"waist_min\": 93.0, \"waist_max\": 99.0, \"hip_min\": 107.0, \"hip_max\": 113.0, \"bust_min\": 105.0, \"bust_max\": 111.0, \"length_min\": 69.0, \"length_max\": 75.0}, {\"name\": \"4XL\", \"waist_min\": 99.0, \"waist_max\": 105.0, \"hip_min\": 113.0, \"hip_max\": 119.0, \"bust_min\": 111.0, \"bust_max\": 117.0, \"length_min\": 71.0, \"length_max\": 77.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\u003cdiv class=\"bn-quick-benefits\"\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Leopard print with mesh insert, one-piece cut\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\u003cp class=\"bn-mini-cta\"\u003eIf the cut and size are right for you, the Leopard Print Women's Swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n\u003cdiv class=\"bn-comfort\"\u003e\n\n\u003ch2\u003eWhen a swimsuit fits, but the pattern looks busy\u003c\/h2\u003e\n\n\u003cp class=\"bn-subheadline\"\u003eHow cut and base tone can influence the leopard print.\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\u003eLeopard print often quickly appears bulky or busy\u003c\/li\u003e\n\n\u003cli\u003eMany plus-size swimsuits don't offer stable support in the bust or stomach area\u003c\/li\u003e\n\n\u003cli\u003eMaterial that becomes heavy or loses its shape after swimming\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\u003cp\u003eWhen buying a swimsuit in sizes 42 and above, you often encounter a similar pattern: the cut fits, but the top gives way. Or the material is tight enough to hold, but not elastic enough to feel comfortable. When entering the water, it becomes clear whether a one-piece truly moves with you or gives in.\u003c\/p\u003e\n\n\u003cp\u003eThis is often due to the material composition: Little elastane means little recovery power – the material stretches but does not fully return to its original shape. The blend of 78% polyamide and 22% elastane in this swimsuit is designed to move with you and maintain its shape – under normal use in vacation and leisure settings. Whether this works for every wearer and every application can best be estimated in advance using the size chart.\u003c\/p\u003e\n\n\u003cp\u003eIf you are looking for a swimsuit with a very strong shapewear effect or special sports functions for intensive swim training, this model may not be the first choice. For the beach, lake, hotel pool, and spa days – situations where comfort and a calm appearance are paramount – it can be a good fit. Furthermore, if you prefer a completely solid-colored design, you will find a pattern here that is subtle yet remains visible.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes a swimsuit with a leopard print and a one-piece cut match how you prefer to feel by the water?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate the cut and size – simply enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eRinse briefly with clear water after wearing, delicate wash 30 °C, do not tumble dry – this helps the material stay elastic longer.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\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→ Vacation use at the beach or pool\u003c\/li\u003e\n\n\u003cli\u003e→ Trying on at home with a focus on fit and opacity\u003c\/li\u003e\n\n\u003cli\u003e→ Use as a swimsuit for leisure, wellness, or hotel pool\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\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\n\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\u003ctbody\u003e\n\n\u003ctr\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-other\"\u003e❌ Typical for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Leopard Print Women's Swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003etoo little support in the bust area for many plus-size swimsuits\u003c\/td\u003e\n\n\u003ctd\u003ethe elastic material blend can adapt better; however, the exact stability should still be checked using the size chart and cut details\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eLeopard prints often quickly appear busy or bulky\u003c\/td\u003e\n\n\u003ctd\u003ea dark color tone and the one-piece cut can make the pattern appear calmer\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eMaterial feels heavy after swimming or dries slowly\u003c\/td\u003e\n\n\u003ctd\u003epolyamide with elastane is typically designed for a light, flexible feel; 30 °C care can better preserve the shape\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSwimsuits stretch out after several uses\u003c\/td\u003e\n\n\u003ctd\u003ethe elastane content can support the recovery power; gentle washing and no tumble drying are beneficial for this\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\n\n\n\u003c\/table\u003e\n\n\n\u003c\/div\u003e\n\n\u003cp class=\"bn-loop\"\u003eWe considered precisely these situations for the Leopard Print Women's Swimsuit – so you have to adjust less when wearing it.\u003c\/p\u003e\n\n\u003cdiv class=\"bn-lupe\"\u003e\n\n\u003ch3\u003eHow the Leopard Print Women's Swimsuit feels in everyday life\u003c\/h3\u003e\n\n\u003cp class=\"bn-lupe-intro\"\u003eSpecific moments where you'll notice: This fits.\u003c\/p\u003e\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 secure fit – even during movement.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\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\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\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\u003eAt the beach\u003c\/h4\u003e\n\n\u003cp\u003eSaltwater, sun, sand: The fabric keeps its shape. No discoloration, no stretching out.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\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. Chlorine and salt don't harm the material.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\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\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\u003eswimsuit\u003c\/strong\u003e that fits securely when swimming\u003c\/li\u003e\n\n\u003cli\u003e→ You like \u003cstrong\u003esimple cuts\u003c\/strong\u003e without unnecessary details\u003c\/li\u003e\n\n\u003cli\u003e→ You value \u003cstrong\u003ecomfort\u003c\/strong\u003e – in and out of the water\u003c\/li\u003e\n\n\u003cli\u003e→ You want to \u003cstrong\u003eavoid bad purchases\u003c\/strong\u003e through clear size indications\u003c\/li\u003e\n\n\u003cli\u003e→ You buy \u003cstrong\u003econsciously\u003c\/strong\u003e instead of just guessing\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\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\u003cli\u003e\n\n\u003cstrong\u003eFeatures:\u003c\/strong\u003e Opaque, quick-drying\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eArea of use:\u003c\/strong\u003e Swimming, beach, pool - rinsing after bathing recommended\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"bn-faq\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n\u003ch3\u003eFrequently Asked Questions about the Leopard Print Women's Swimsuit\u003c\/h3\u003e\n\n\u003cdiv itemscope=\"\" itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n\u003ch4 itemprop=\"name\"\u003eHow does the swimsuit fit during movement?\u003c\/h4\u003e\n\n\u003cdiv itemscope=\"\" itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n\u003cp itemprop=\"text\"\u003eThe high waistband lies flat on the hips. If in doubt, choose one size larger.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv itemscope=\"\" itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n\u003ch4 itemprop=\"name\"\u003eHow do I find the right size?\u003c\/h4\u003e\n\n\u003cdiv itemscope=\"\" itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n\u003cp itemprop=\"text\"\u003eUse the size calculator – height and weight are sufficient for an initial estimate. If in doubt, choose one size larger.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv itemscope=\"\" itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n\u003ch4 itemprop=\"name\"\u003eHow do I care for it after bathing?\u003c\/h4\u003e\n\n\u003cdiv itemscope=\"\" itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n\u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, delicate wash 30 °C, do not tumble dry.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"bn-related-articles\"\u003e\n\n\u003ch3\u003eGuides\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/die-perfekte-bademode-finden\"\u003eFinding the Perfect Swimwear\u003c\/a\u003e\u003c\/li\u003e\n\n\u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eWomen's Swimsuit\u003c\/a\u003e\u003c\/li\u003e\n\n\u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-der-zeitlose-klassiker-fur-jeden-anlass\"\u003eBlack Swimsuit: The Timeless Classic for Every Occasion\u003c\/a\u003e\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"plus size leoprint badeanzug damen\" style=\"display: none;\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"schwarzer badeanzug mit leopardenmuster figurfreundlich\" style=\"display: none;\"\u003e\u003c\/span\u003e\n\u003cdetails class=\"bn-ship\"\u003e\n\u003csummary\u003eDelivery\u003c\/summary\u003e\n\u003cdiv\u003e\n\n\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;\"\u003eWe produce on demand – this reduces overproduction and stock, especially for printed goods!\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003c\/details\u003e\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\u003cp class=\"bn-loop-end\"\u003eIf you recognize yourself in the scenarios above, the Leopard Print Women's Swimsuit could be a suitable option.\u003c\/p\u003e\n\n\u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eLeopard Print Women's Swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€34.99\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cbutton type=\"button\" class=\"bn-cta-button\"\u003eChoose size \u0026amp; order ↑\u003c\/button\u003e\n\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\u003cdiv class=\"bn-closing-note\"\u003e\n\n\u003cp\u003eUltimately, it's not about the garment itself, but about the moments you experience in it. We hope the Leopard Print Women's Swimsuit can accompany you exactly as you wish.\u003c\/p\u003e\n\n\u003cp style=\"font-size: 0.9rem; margin-top: 1rem; font-style: normal;\"\u003e\u003ca href=\"\/en\/pages\/uber-uns\" style=\"color: #3b82f6; text-decoration: none; font-weight: 500;\"\u003eLearn about our philosophy →\u003c\/a\u003e\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\u003csmall class=\"bn-updated\"\u003eLast updated: 16.05.2026\u003c\/small\u003e\n\n\u003c\/div\u003e\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\u003cp\u003e \u003c\/p\u003e","brand":"Bodenseemarke","offers":[{"title":"Leopard Print \/ 0XL","offer_id":45362786304268,"sku":"CJNT200214401AZ","price":34.99,"currency_code":"EUR","in_stock":true},{"title":"Leopard Print \/ 1XL","offer_id":45362786337036,"sku":"CJNT200214402BY","price":34.99,"currency_code":"EUR","in_stock":true},{"title":"Leopard Print \/ 2XL","offer_id":45362786369804,"sku":"CJNT200214403CX","price":34.99,"currency_code":"EUR","in_stock":true},{"title":"Leopard Print \/ 3XL","offer_id":45362786402572,"sku":"CJNT200214404DW","price":34.99,"currency_code":"EUR","in_stock":true},{"title":"Leopard Print \/ 4XL","offer_id":45362786435340,"sku":"CJNT200214405EV","price":34.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/O1CN019YiDqJ1fsu1M5yBDW__2214331894063-0-cib.jpg?v=1750426738"},{"product_id":"bikini-damen-schmetterlingsmuster","title":"Women's bikini with butterfly pattern","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini stay put all day – and keep its composure?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that feeling when a bikini just fits – without needing to readjust or think about it at midday.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eThe difference usually isn't apparent when you first put it on, but rather sometime in the afternoon – when you stand up from your towel or go into the water.\u003c\/p\u003e\n\n  \u003ch2\u003eButterfly Pattern Bikini – Blue Two-Piece for Beach and Lake\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nA two-piece bikini with a blue butterfly pattern – designed for beach days when you don't want to constantly worry about the fit. The pattern is present without being overwhelming. The fabric, made of 78% polyamide and 22% elastane, fits snugly without constricting.\u003c\/p\u003e\n\n\u003cp\u003eThe butterfly pattern on a blue background creates a calm visual – not loud, not minimalist-bare. The motifs appear like a moment in between: visible if you look closely, yet subtle amidst the beach bustle. This is precisely what makes this butterfly pattern bikini a piece that can be combined with other summer wear without overpowering them.\u003c\/p\u003e\n\n\u003cp\u003eBlue tones and butterfly prints have something that goes well with water – whether at Lake Constance, by the pool, or at the sea. The coloring looks different in the sun than in the shade: sometimes more vibrant, sometimes almost delicate. Those who like patterns that offer a certain leeway without being playful might find what they're looking for here. Those who prefer pure solid colors or very graphic prints will probably look elsewhere – and that's perfectly fine.\u003c\/p\u003e\n\n\u003cp\u003eAt the beach: You go into the water, come back, settle onto your towel – the pattern stays as it was. During coffee afterward, still slightly salty and relaxed: The blue looks fresh, the butterfly stands out if someone looks closely. As a souvenir or gift, this bikini works for anyone who likes color but isn't seeking attention.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice\u003c\/h3\u003e\n\n\u003cp\u003e• The fabric feels soft against the skin without rubbing – even after prolonged wear near water.\u003cbr\u003e• The butterfly pattern appears vibrant in the light without being obtrusive.\u003cbr\u003e• The cut is suitable for various body shapes – not just one specific type.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you're unsure whether the cut and size fit – our size calculator can give you an indication.\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\": \"S\", \"hip_min\": 72.0, \"hip_max\": 76.0, \"bust_min\": 66.0, \"bust_max\": 72.0, \"height_min\": 32.0, \"height_max\": 34.0}, {\"name\": \"M\", \"hip_min\": 76.0, \"hip_max\": 80.0, \"bust_min\": 72.0, \"bust_max\": 78.0, \"height_min\": 34.0, \"height_max\": 36.0}, {\"name\": \"L\", \"hip_min\": 80.0, \"hip_max\": 84.0, \"bust_min\": 92.0, \"bust_max\": 96.0, \"height_min\": 78.0, \"height_max\": 84.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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Pattern: Butterfly pattern on a blue background, two-piece\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, the women's butterfly pattern bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini becomes restless during the day\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit, pattern, material – what works together.\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\u003eThe top slips after the first swim\u003c\/li\u003e\n\n\u003cli\u003eThe waistband uncomfortably constricts when sitting\u003c\/li\u003e\n\n\u003cli\u003eAfter a few days of swimming, the bikini no longer fits as it did initially\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany know this feeling: You put on a bikini in the morning that fits well – and sometime in the afternoon, after a few swims and hours by the lake, it doesn't quite fit anymore. The top sits slightly differently, the waistband presses in a spot that wasn't a problem before.\u003c\/p\u003e\n\n\u003cp\u003eThis is often due to the material: fabrics with little elastane or not designed for water contact change their behavior when wet. The fit that worked dry is different when wet.\u003c\/p\u003e\n\n\u003cp\u003eThis bikini is made from a polyamide-elastane blend (78% \/ 22%) designed for movement in and around water. The top can stay in place under normal activity – swimming, walking, sitting. Not an absolute guarantee, but a good indication. Those planning intense water sports or making very dynamic movements might be better off with a sportier cut.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eHow much movement do you do on a typical beach day – and what's more important to you: fit or appearance?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eIf you're still unsure: the top and bottom can usually be chosen separately, which helps with sizes that aren't always the same.\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→ Stays put while swimming – without needing readjustment\u003c\/li\u003e\n\n\u003cli\u003e→ The pattern stands out without being overwhelming\u003c\/li\u003e\n\n\u003cli\u003e→ Comfortable to wear even after several days at the beach\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Polyamide-elastane blend – designed for movement in and around water\u003c\/li\u003e\n\n\u003cli\u003e✅ Butterfly pattern in blue – subtly patterned, versatile\u003c\/li\u003e\n\n\u003cli\u003e✅ Delicate wash 30 °C – easy care for everyday use\u003c\/li\u003e\n\n\u003cli\u003e✅ Suitable for beach, lake, and pool under normal use\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ For intense competitive swimming or very dynamic water sports, a sportier cut might be more suitable\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer pure solid colors or very graphic prints will find a different style here\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\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✅ Women's Butterfly Pattern 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\u003ePolyamide-elastane blend designed for a more stable fit during normal water movement\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eDifficult to estimate size online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with height and weight as a guide; top and bottom can be chosen separately\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks faded or too striking after one season\u003c\/td\u003e\n\n\u003ctd\u003eSubtle butterfly pattern in blue – calm coloring that doesn't overpower\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 with the Women's Butterfly Pattern Bikini – so you have to readjust less while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the Women's Butterfly Pattern Bikini feels in everyday use\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\u003eAt 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 to dry, 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're looking for a \u003cstrong\u003ewomen's butterfly pattern bikini\u003c\/strong\u003e with a fit that can suit 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 mispurchases\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 Women's Butterfly Pattern Bikini\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 blue women's bikini with a butterfly pattern?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator provides an indication based on your height and weight. Since bikini tops and bottoms can fit differently, it's worth considering both parts separately. If you're unsure between two sizes, choosing the larger option is usually more comfortable.\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 waistband fit during movement – for example, when swimming or standing up?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe waistband is designed for normal everyday movements in and around water – walking, swimming, sitting. Under normal use, it generally stays put. For very dynamic water activities or competitive swimming, a specifically sporty cut might be more suitable.\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 bikini fabrics made of polyamide and elastane?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, then wash at 30 °C on a delicate cycle. Do not tumble dry – this protects the elastane content and helps the bikini retain its shape.\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\"\u003eIs this women's butterfly pattern bikini also suitable for Lake Constance?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the bikini is designed for the beach, lake, and pool – including Lake Constance. The material is designed for water contact. Please rinse briefly after swimming and let it air dry.\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\"\u003eThis is possible depending on the offer. Since bikini sizes are often not consistent, we recommend considering the top and bottom separately and choosing different sizes if necessary.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Schmetterlingsmuster auf blauem Grund – sichtbar im Sonnenlicht, ruhig im Schatten\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Enger anliegender Schnitt, der sich bei Bewegung nicht aufwirft\" 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 receipt\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 warehouse stock, 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 scenarios above, the Women's Butterfly Pattern Bikini might be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Butterfly Pattern Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€25.95\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 Women's Butterfly Pattern 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\": \"Bikini Damen Schmetterlingsmuster\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/0098f3c0-4f3a-4154-8444-f80e5700d8a5.jpg?v=1751741893\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"25.95\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Snow white \/ L","offer_id":45418792583436,"sku":"CJYJ174606603CX","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ M","offer_id":45418792616204,"sku":"CJYJ174606602BY","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ S","offer_id":45418792648972,"sku":"CJYJ174606601AZ","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ L","offer_id":45418792681740,"sku":"CJYJ174606606FU","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ M","offer_id":45418792714508,"sku":"CJYJ174606605EV","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ S","offer_id":45418792747276,"sku":"CJYJ174606604DW","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Aquaturquoise \/ L","offer_id":45418792780044,"sku":"CJYJ174606609IR","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Aquaturquoise \/ M","offer_id":45418792812812,"sku":"CJYJ174606608HS","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Aquaturquoise \/ S","offer_id":45418792845580,"sku":"CJYJ174606607GT","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Baby blue \/ L","offer_id":45418792878348,"sku":"CJYJ174606612LO","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Baby blue \/ M","offer_id":45418792911116,"sku":"CJYJ174606611KP","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Baby blue \/ S","offer_id":45418792943884,"sku":"CJYJ174606610JQ","price":25.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/0098f3c0-4f3a-4154-8444-f80e5700d8a5.jpg?v=1751741893"},{"product_id":"damen-bikini-set-dreiteilig-marmoriert","title":"Women's Marble Print Bikini Set","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a marble-patterned bikini that fits just as well on Lake Constance as it did on the first day?\u003c\/p\u003e\u003c\/div\u003e\n\n  \n  \n  \u003ch2\u003eWomen's Marble Pattern Bikini – Timeless Pattern for Lake, Pool, and Vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini set is made for:\u003c\/strong\u003e\u003cbr\u003e\nTwo-piece set with an abstract marble pattern – subtly patterned in black, grey, and white with golden accents, for days when swimwear should appear calm and thoughtful.\u003c\/p\u003e\n\n\u003cp\u003eThe marble pattern comes from an aesthetic that evokes architecture and serene surfaces rather than loud beach looks. Black, grey, and white blend into each other, and the golden accents provide a focal point without dominating. For those who enter the water at Lake Constance and are looking for a set that isn't intrusive, this offers a quiet statement.\u003c\/p\u003e\n\n\u003cp\u003eThe pattern works well on both light and dark skin because it doesn't emphasize a single color, but rather showcases transitions. It's not a flashy print statement – rather a background that speaks for itself. On the pier, when getting out of the water, when leaning against the quay wall: The pattern looks similar in motion and at rest.\u003c\/p\u003e\n\n\u003cp\u003eThe set makes a great souvenir or gift if you want to give someone something that doesn't immediately look like a \"typical swimwear gift.\" And it can be combined with a light beach skirt or wide linen trousers if you're heading straight from the water to your next activity.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern stands out without you having to explain anything – a calm effect without effort.\u003cbr\u003e• The color combination of grey and gold looks different in the water than in the photo – a little warmer, a little livelier.\u003cbr\u003e• If you like to wear basics but don't want a solid-colored set, you can find a middle ground here.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you want to estimate the size, our size calculator will help – your height and weight are sufficient for an initial indication.\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 (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\": \"S\", \"hip_min\": 86.0, \"hip_max\": 91.0, \"bust_min\": 81.0, \"bust_max\": 86.0}, {\"name\": \"M\", \"hip_min\": 91.0, \"hip_max\": 96.0, \"bust_min\": 86.0, \"bust_max\": 91.0}, {\"name\": \"L\", \"hip_min\": 96.0, \"hip_max\": 101.0, \"bust_min\": 91.0, \"bust_max\": 96.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✔ Design: Abstract marble pattern in black, grey, and white with golden accents\u003c\/li\u003e\n\n\u003cli\u003e✔ Version: Two-piece set (top + bottom)\u003c\/li\u003e\n\n\u003cli\u003e✔ Application: Beach, lake, pool, vacation – designed for relaxed swimming days\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, the Women's Marble Pattern Bikini Set can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini loses its fit with movement\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA set designed for calm wearing comfort – by the lake and in the pool.\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\u003eThe top no longer fits the same after an hour in the water\u003c\/li\u003e\n\n\u003cli\u003eThe waistband digs in after prolonged wear in certain places\u003c\/li\u003e\n\n\u003cli\u003eOnline size specifications for bikinis rarely match reality\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eIt usually doesn't happen the first time you go into the water, but after the third time: The top rides up slightly, the waistband sits differently than before. On a long day at the lake, this can become a subtle nuisance – not dramatic, but noticeable.\u003c\/p\u003e\n\n\u003cp\u003ePart of this has to do with the cut, part with the material. Bikinis designed for light movement and relaxed swimming days behave differently than those primarily designed for intense water activities. It's less about quality in an abstract sense, and more about what a set is actually designed for.\u003c\/p\u003e\n\n\u003cp\u003eThis marble pattern bikini set is designed for relaxed comfort situations – for the lake, the pool, vacation days. It's not a sports bikini for intensive swimming or water skiing; if that's what you're looking for, a specialized sports bikini would probably be a more suitable approach. However, if you want a set that stays put during moderate movement in the water and still feels similar after a long afternoon at the beach as it did in the morning – then this set might be a good fit.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eHow much movement in the water is involved in your typical swimming days – leisurely or active?\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 for an initial indication.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eCheck the available sizes and use the calculator as a guide – not as the final word.\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→ Still fits similarly in the evening as in the morning after a long day at the lake\u003c\/li\u003e\n\n\u003cli\u003e→ The marble pattern looks warmer in the water than in the photo\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✅ Abstract marble pattern – subtly patterned, not loud\u003c\/li\u003e\n\n\u003cli\u003e✅ Timeless black, grey, and white with golden accents\u003c\/li\u003e\n\n\u003cli\u003e✅ Designed for relaxed swimming days at the lake, pool, and on vacation\u003c\/li\u003e\n\n\u003cli\u003e✅ Can be combined with a beach skirt or light linen trousers\u003c\/li\u003e\n\n\u003cli\u003e✅ Size calculator available as a guide\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not a sports bikini – less suitable for competitive swimming or intense water activities\u003c\/li\u003e\n\n\u003cli\u003e⚠️ If you prefer strong colors or floral patterns, you'll find a different style here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Material specifications currently not fully specified – observe care instructions\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 of similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Marble Pattern Bikini Set\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips after swimming\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for a stable fit during moderate movement in the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks different online than in reality\u003c\/td\u003e\n\n\u003ctd\u003eNatural coloring in black, grey, and white – usually similar to the image\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBikini sizes are difficult to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with height and weight as a guide\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSet looks too conspicuous or too pale on the beach\u003c\/td\u003e\n\n\u003ctd\u003eMarble pattern with gold accents – calm, but not colorless\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 considered exactly such situations with the Women's Marble Pattern Bikini Set – so you have to readjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the Women's Marble Pattern Bikini Set 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 – observe 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\u003eWomen's Marble Pattern Bikini Set\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 intrusive\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 longevity\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 Women's Marble Pattern Bikini Set\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 this marble pattern bikini set?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator gives you an initial indication based on your height and weight. Since bikini sizes can vary depending on the cut, it is advisable to choose one size larger if in doubt – especially if you prefer a slightly more relaxed fit.\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 waistband fit during 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 set is designed for relaxed movement – swimming, walking, standing up. During moderate water activity, it generally stays put. For intensive swimming or sporty water activities, a specialized sports bikini may be more suitable.\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 marble pattern bikini set?\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 – let it air dry flat to maintain its shape and pattern.\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\"\u003eIs this simple Women's Marble Pattern Bikini Set also suitable as a gift?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe marble pattern in black, grey, and white with gold accents looks timeless and unobtrusive – it is well suited as a gift if you are looking for something that doesn't immediately look like generic swimwear. It's best to use the size calculator to estimate the fit.\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\"\u003eWhat water activities is this bikini set suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe set is designed for relaxed swimming days – lake, pool, vacation. It is not a sports bikini for competitive swimming or intense water sports. Those who swim intensively regularly should consider a bikini specifically designed for that purpose.\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 choose 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\"\u003eThe set can be combined in different sizes depending on the available variations. Use our size calculator as a guide and consult the size chart – especially if the top and bottom require different proportions.\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\u003eGuides\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\"\u003eUnderwired 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=\"Black, grey, and white marbling with fine gold accents – lively in the water under light\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Subtle pattern that can be combined with wide linen trousers or a beach skirt\" 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 receipt\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce to order – this reduces overproduction and warehouse stock, 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 checked 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 scenarios above, the Women's Marble Pattern Bikini Set could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Marble Pattern Bikini Set\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€33.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 Women's Marble Pattern Bikini Set 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\": \"Bikini Set Marmormuster Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/20baa6e2-0374-4ed7-881b-4d42c660df06.jpg?v=1717174887\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"33.99\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Black-and-white \/ L","offer_id":45418817028364,"sku":"CJYD196458109IR","price":33.99,"currency_code":"EUR","in_stock":true},{"title":"Black-and-white \/ M","offer_id":45418817061132,"sku":"CJYD196458108HS","price":33.99,"currency_code":"EUR","in_stock":true},{"title":"Black-and-white \/ S","offer_id":45418817093900,"sku":"CJYD196458107GT","price":33.99,"currency_code":"EUR","in_stock":true},{"title":"Violet \/ L","offer_id":45418816930060,"sku":"CJYD196458106FU","price":33.99,"currency_code":"EUR","in_stock":true},{"title":"Violet \/ M","offer_id":45418816962828,"sku":"CJYD196458105EV","price":33.99,"currency_code":"EUR","in_stock":true},{"title":"Violet \/ S","offer_id":45418816995596,"sku":"CJYD196458104DW","price":33.99,"currency_code":"EUR","in_stock":true},{"title":"Emerald green \/ L","offer_id":45418816831756,"sku":"CJYD196458112LO","price":33.99,"currency_code":"EUR","in_stock":true},{"title":"Emerald green \/ M","offer_id":45418816864524,"sku":"CJYD196458111KP","price":33.99,"currency_code":"EUR","in_stock":true},{"title":"Emerald green \/ S","offer_id":45418816897292,"sku":"CJYD196458110JQ","price":33.99,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ L","offer_id":45418816733452,"sku":"CJYD196458103CX","price":33.99,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ M","offer_id":45418816766220,"sku":"CJYD196458102BY","price":33.99,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ S","offer_id":45418816798988,"sku":"CJYD196458101AZ","price":33.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/20baa6e2-0374-4ed7-881b-4d42c660df06.jpg?v=1717174887"},{"product_id":"bikini-damen-gebunden-schwarz-und-weiss","title":"Bikini Marble Pattern Women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a high-waisted bikini sit still even after a long day at the beach?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that calm feeling when a bikini just stays where it belongs – without needing to be tugged at by the water.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eThe difference often only becomes apparent over the course of the day – when getting up from the sand, jumping into the water, or sitting down on a towel.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's High-Waisted Bikini – Turquoise, White, and Black Marble Pattern for Beach and Lake\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nHigh waistband for a calmer fit when moving – the abstract marble pattern in turquoise, white, and black gives it a subtle individuality. The fabric, made of 78% polyamide and 22% elastane, adapts to the body shape without constricting.\u003c\/p\u003e\n\n\u003cp\u003eThe marble pattern consists of flowing lines that don't repeat in any section – turquoise and black on a white background, subtle enough not to be overly noticeable, but distinctive enough not to appear anonymous. For those who like calm patterns that don't require explanation, this design offers something timeless.\u003c\/p\u003e\n\n\u003cp\u003eOn the shores of Lake Constance, when the light falls flat across the water, the turquoise in the pattern appears vibrant – without the bikini itself being loud. The pattern is designed to blend seamlessly with light linen trousers or simple sandals, without creating a clash. For those who like to combine without overthinking, this provides a calm starting point.\u003c\/p\u003e\n\n\u003cp\u003eOn a lake vacation, having coffee on the terrace afterwards, or pulling a shirt over the wet top – this bikini doesn't demand special staging. It's designed for days when the water matters, not the outfit.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The marble pattern looks different wet than dry – the turquoise tones deepen, giving it a second moment.\u003cbr\u003e• The high waist sits in places where many bikini bottoms tend to ride down – which can result in a calmer wearing experience.\u003cbr\u003e• The design is subtle enough to be combinable with almost anything – not a pattern that overpowers other elements.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you want to estimate the right size: Our size calculator will help you.\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 (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\": \"S\", \"hip_min\": 86.0, \"hip_max\": 91.0, \"bust_min\": 81.0, \"bust_max\": 86.0}, {\"name\": \"M\", \"hip_min\": 91.0, \"hip_max\": 96.0, \"bust_min\": 86.0, \"bust_max\": 91.0}, {\"name\": \"L\", \"hip_min\": 96.0, \"hip_max\": 101.0, \"bust_min\": 91.0, \"bust_max\": 96.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✔ Material: 78% polyamide, 22% elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Delicate wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: high waistband, marble pattern in turquoise-white-black\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 fit you, the women's marble pattern bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini doesn't stay where it belongs in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit, cut, and pattern – what can work together.\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\u003eThe top slips when swimming\u003c\/li\u003e\n\n\u003cli\u003eThe waistband digs in or rides up during the day\u003c\/li\u003e\n\n\u003cli\u003eOrdered online, but the size still doesn't fit\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou go from your towel into the water, briefly dive under – and afterwards, something about the fit isn't right. Top shifted, bottoms too low, waistband rolled up. This happens particularly when the cut and material are not coordinated.\u003c\/p\u003e\n\n\u003cp\u003eLow-waisted bikini bottoms have less contact surface on the body – when moving in the water or getting up from the sand, this can lead to more adjustments. A higher waistband is designed for more contact area and can help reduce this effect – it's not a guarantee, but a guideline.\u003c\/p\u003e\n\n\u003cp\u003eThis high-waisted bikini is designed for calm water days at the lake or beach – less for intensive water sports activities like diving or surfing. If you prefer a sporty, brief cut, this model may not be your style.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDo you prefer to wear bikini bottoms high or low – and what does that mean for your fit 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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eCheck the available sizes and choose the one that suits you.\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→ Calm fit when swimming – top usually stays where it belongs\u003c\/li\u003e\n\n\u003cli\u003e→ Marble pattern looks different wet than dry – gives the bikini a second visual moment\u003c\/li\u003e\n\n\u003cli\u003e→ High waist generally still feels comfortable after a long day at the beach\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 waistband – designed for a more stable fit during everyday movements in the water\u003c\/li\u003e\n\n\u003cli\u003e✅ Abstract marble pattern in turquoise-white-black – subtle but distinctive\u003c\/li\u003e\n\n\u003cli\u003e✅ 78% polyamide, 22% elastane – elastic and body-hugging under normal use\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be chosen separately – individual size adjustment possible\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intensive water sports or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer low, brief cuts may be less satisfied with the high waistband\u003c\/li\u003e\n\n\u003cli\u003e⚠️ The marble pattern is subtle – those looking for striking, bold prints will find the opposite here\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Marble Pattern Bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips when swimming or surfacing\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for a stable fit during everyday movements in the water – under normal use\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBikini bottom rides down with movement\u003c\/td\u003e\n\n\u003ctd\u003eHigh waistband with more contact surface – can help keep the fit calmer\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSize difficult to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom can be chosen separately, size calculator with height and weight available\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks faded after one season\u003c\/td\u003e\n\n\u003ctd\u003ePolyamide-elastane material – follow care instructions for longer color retention\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 such situations with the women's marble pattern bikini – so you'll have to adjust it less while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the women's marble pattern bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you'll notice: 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\u003eAt the beach\u003c\/h4\u003e\n\n      \u003cp\u003eSalt water, 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 to dry, 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\u003ewomen's marble pattern 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 the women's marble pattern bikini\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 the marble pattern bikini with a high waistband?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eBikinis with a high waistband generally fit a bit more snugly than low-rise models. Our size calculator provides an estimate based on your height and weight. If you're unsure between two sizes, it can help to choose the larger one – especially if you prefer a more relaxed fit.\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 waistband sit when moving 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 waistband has more contact surface on the body than a low-cut model. With normal movement in the water – swimming, entering the water, getting up – it generally stays put more calmly. The model is less designed for intensive water sports activities.\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 a polyamide and elastane 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 – this can affect the elasticity of the material. Washing inside out protects the pattern.\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\"\u003eWhat water activities is this bikini suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe model is designed for calm water days – swimming in the lake, pool, or at the beach. It is less intended for performance-oriented swimming or intensive water sports.\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\"\u003eDoes the marble pattern match different beach outfits?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe abstract marble pattern in turquoise, white, and black is subtle enough to complement light linen tops, solid-colored pareos, or simple beach dresses. For those who like clean combinations, it provides a flexible starting point.\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\"\u003ePlus 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=\"Abstract marble pattern in turquoise-white-black – flowing lines, no symmetry\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"High waistband – sits above the hip bones, gently shapes the waist\" 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 receipt\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 warehouse stock, 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 find yourself in the scenarios above, the women's marble pattern bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Marble Pattern Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€36.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 women's marble pattern 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\": \"Bikini Marmormuster Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/IMG-20240610-WA0024.png?v=1750425801\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"36.99\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Black-and-white \/ L","offer_id":45418839998732,"sku":"CJYJ150335903CX","price":36.99,"currency_code":"EUR","in_stock":true},{"title":"Black-and-white \/ M","offer_id":45418840031500,"sku":"CJYJ150335902BY","price":36.99,"currency_code":"EUR","in_stock":true},{"title":"Black-and-white \/ S","offer_id":45418840064268,"sku":"CJYJ150335901AZ","price":36.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/IMG-20240610-WA0024.png?v=1750425801"},{"product_id":"marmorierter-bikini-triangel-look","title":"blue tie-dye bikini for women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini stay in place all day long – whether in the water or on shore?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a bikini is just there – without you having to look twice.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eOver the course of a beach day, you notice the difference – not when you put it on, but when you go into the water for the second or third time.\u003c\/p\u003e\n\n  \u003ch2\u003eBlue Tie-Dye Bikini for Women – Triangle Cut with a Calm Pattern for the Beach and Lake\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nTriangle top with a tie-dye pattern in deep blue tones – a two-piece bikini for women that is visually understated yet still stands out.\u003c\/p\u003e\n\n\u003cp\u003eThe tie-dye pattern wasn't created as a trend decision, but as a visual statement: blue on blue, slightly blurred, like water on water. The color gradient doesn't look artificial – it's reminiscent of the early morning light on the lake, when the water is still smooth and the colors blend into each other. Anyone familiar with the Lake Constance region knows exactly this tranquility.\u003c\/p\u003e\n\n\u003cp\u003eThe triangle shape keeps the design light and feminine, without revealing too much. The marbled blue tie-dye bikini can be paired with a white linen cover-up or simply with light shorts – it doesn't need elaborate accessories. The blue tones range from medium blue to almost dark blue, making it versatile and wearable summer after summer.\u003c\/p\u003e\n\n\u003cp\u003eWhen lying on a towel, the pattern looks calm and present at the same time. When standing up and going into the water, the look remains exactly the same – no pattern that appears garish when wet. For those planning a weekend at the lake or a longer beach vacation, such a bikini is a companion that is neither too much nor too little.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern looks different when wet than dry – calmer, deeper, almost like dark lake water.\u003cbr\u003e• The triangle cut provides freedom without revealing too much – for those who prefer a discreet style.\u003cbr\u003e• The blue tones match almost everything – sand colors, white, natural green – without dominating.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like the pattern and are looking for a bikini that remains simple without being boring – check out the available sizes.\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\": \"S\", \"hip_min\": 70.0, \"hip_max\": 80.0, \"waist_min\": 66.0, \"waist_max\": 76.0}, {\"name\": \"M\", \"hip_min\": 74.0, \"hip_max\": 85.0, \"waist_min\": 70.0, \"waist_max\": 80.0}, {\"name\": \"L\", \"hip_min\": 78.0, \"hip_max\": 90.0, \"waist_min\": 74.0, \"waist_max\": 84.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✔ Top material: 82% polyester (polyester fiber)\u003c\/li\u003e\n\n\u003cli\u003e✔ Lining: 18% polyester\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: Triangle top, two-piece bikini\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 are right for you, a blue tie-dye bikini for women can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini loses its fit in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit, pattern, and shape – what really matters when buying.\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\u003eThe top fits well in the morning, but less so after swimming\u003c\/li\u003e\n\n\u003cli\u003eOnline bikini sizes are difficult to estimate\u003c\/li\u003e\n\n\u003cli\u003eThe pattern looks good dry, but flat when wet\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany know it: the bikini fits well when putting it on, but after the first long swim or an innocent jump into the water, something changes – the top twists slightly, the bottom slips. You adjust it, straighten it, and then think more about the fit than the water.\u003c\/p\u003e\n\n\u003cp\u003eThis is often less due to the size than to the cut and material composition. Soft fabrics with good stretch can adapt better – a triangle top with tie straps can also be individually adjusted, which is not possible with pre-formed underwire tops.\u003c\/p\u003e\n\n\u003cp\u003eThis blue tie-dye bikini is designed for everyday wear by the water – for the beach, lake, and pool, under normal conditions. It is not designed for competitive swimming or intensive water sports. If you need support for intense movements in the water, a sports swimsuit or a bikini with fixed straps might be a better choice. If you prefer relaxed beach days, occasional swimming, and plenty of time on shore, this bikini might be a good fit.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes the feeling you imagine match a light triangle cut – or are you looking for firm support for active water days?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTake your time to look at the available options – without pressure.\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→ Stays calm and in place after a long day at the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Pattern looks the same in the water as in the photo\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✅ Subtle tie-dye pattern in blue tones – calm, but not colorless\u003c\/li\u003e\n\n\u003cli\u003e✅ Triangle cut with tie straps – individually adjustable for normal use\u003c\/li\u003e\n\n\u003cli\u003e✅ Lightweight polyester fabric with lining – designed for beach, lake, and pool\u003c\/li\u003e\n\n\u003cli\u003e✅ Timeless design that can be combined with neutral colors\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not designed for competitive swimming or intensive water sports\u003c\/li\u003e\n\n\u003cli\u003e⚠️ If you prefer firm support from underwire or wide straps, you won't find a structured top here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ If you prefer bold, colorful prints, the pattern might be perceived as too subtle\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Blue Tie-Dye Bikini for Women\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips when moving in the water\u003c\/td\u003e\n\n\u003ctd\u003eTriangle cut with tie straps – fit can be individually adjusted\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks flat or unsightly when wet\u003c\/td\u003e\n\n\u003ctd\u003eTie-dye pattern in blue tones – looks deeper when wet, remains visible\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBikini sizes are difficult to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with height and weight as a guide\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eDesigns look outdated after one season\u003c\/td\u003e\n\n\u003ctd\u003eTimeless tie-dye pattern in blue – generally wearable longer than trendy prints\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 exactly these situations with the blue tie-dye bikini for women – so you have to adjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the blue tie-dye bikini for women feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you realize: this is a good fit.\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\u003eAt the beach\u003c\/h4\u003e\n\n      \u003cp\u003eSalt water, 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 at 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: polyester fiber (polyester)Fabric composition content: 82 (%)Lining name: PolyesterLining composition: polyester fiber (polyester)Lining ingredient content: 18 (%)Applicable scene: swimming and wadingColor: pink, blue, pink blue\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\u003eblue tie-dye bikini for women\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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about the Blue Tie-Dye Bikini for Women\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 the blue tie-dye bikini for women?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eUse our size calculator with your height and weight as a guide. If unsure between two sizes, the larger option is generally recommended to allow enough room in the top. The top and bottom can also be chosen separately, depending on availability.\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 care for the bikini properly?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear, lukewarm water after wearing. Wash at 30°C on a delicate cycle, do not tumble dry. This keeps the material elastic and the color intensity of the tie-dye pattern 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\"\u003eIs the marbled triangle bikini blue also suitable for active water sports?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThis bikini is designed for relaxed wear by the water – swimming, lying on the beach, occasional splashing. It is less suitable for intensive water sports or competitive swimming; models with fixed straps or underwire constructions are better for that.\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 tie-dye pattern look when the bikini is wet?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe pattern changes slightly when wet – the blue tones appear deeper and darker, similar to how wet fabric refracts light differently. The pattern remains visible, and the look stays calm.\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 combine the blue tie-dye bikini for women with other bikini pieces?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the triangle top and bottom can generally be combined with other pieces in matching blue or neutral tones. The subtle tie-dye pattern harmonizes well with solid-colored companion pieces in white, sand, or deep blue.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Dunkelblaues Batik-Muster auf Triangel-Oberteil im Sonnenlicht\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Bikini am Bodenseeufer – Muster spiegelt das Wasser wider\" 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 excess stock, especially for printed items!\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 scenarios above, the blue tie-dye bikini for women might be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eBlue Tie-Dye Bikini for Women\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€25.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 blue tie-dye bikini for women 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\": \"blauer Batik Bikini Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/564584073323.jpg?v=1750425180\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"25.99\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"blue marbled \/ L","offer_id":45418850681100,"sku":"CJYDYYLJ00464-Blue-L","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"blue marbled \/ M","offer_id":45418850713868,"sku":"CJYDYYLJ00464-Blue-M","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"blue marbled \/ S","offer_id":45418850746636,"sku":"CJYDYYLJ00464-Blue-S","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"sunrise \/ L","offer_id":45418850779404,"sku":"CJYDYYLJ00464-Pink blue-L","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"sunrise \/ M","offer_id":45418850812172,"sku":"CJYDYYLJ00464-Pink blue-M","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"sunrise \/ S","offer_id":45418850844940,"sku":"CJYDYYLJ00464-Pink blue-S","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Flamingo pink \/ L","offer_id":45418850877708,"sku":"CJYDYYLJ00464-Pink-L","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Flamingo pink \/ M","offer_id":45418850910476,"sku":"CJYDYYLJ00464-Pink-M","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Flamingo pink \/ S","offer_id":45418850943244,"sku":"CJYDYYLJ00464-Pink-S","price":25.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/564584073323.jpg?v=1750425180"},{"product_id":"bikini-triangel-leuchte-uber-dich-hinaus","title":"silver shiny bikini for women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that stays put on the beach – and even after swimming?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that calm feeling when a bikini fits without you having to constantly think about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd many only notice this over the course of a long day of swimming – when the difference between staying put and needing adjustment becomes noticeable.\u003c\/p\u003e\n\n  \u003ch2\u003eSilver Triangle Bikini for Women – for the Beach, Lake, and Peaceful Summer Days\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nTriangle cut with tie straps – for an adjustable fit, plain silver, shiny surface, light and form-fitting.\u003c\/p\u003e\n\n\u003cp\u003eSilver is not a loud color – and yet it stands out. When the light hits the water and the fabric's sheen briefly flashes, it creates a picture that requires little effort. This silver bikini for women is designed for exactly that moment: a calm, clear look that doesn't impose itself.\u003c\/p\u003e\n\n\u003cp\u003eThe triangle cut with tie straps can be individually adjusted – both top and bottom. The silver appears cooler or warmer depending on the light, but always remains simple. For those who prefer a minimalist look by the water, this shiny silver bikini can be a harmonious companion – whether on Lake Constance, by the pool, or on vacation.\u003c\/p\u003e\n\n\u003cp\u003eAn afternoon by the lake: you lie down, the light changes, the fabric shimmers briefly – subtle yet present. Or when getting up from the deckchair, when the silver lights up for a moment before you go into the water. For some, this is exactly the right mix: not too much, but also not invisible.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The shine varies depending on the light – calm on cloudy days, livelier in the sun.\u003cbr\u003e• The triangle cut can be tied – adjustable both top and bottom.\u003cbr\u003e• The plain silver can be combined with beach towels, sarongs, or tops in many colors.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eChoose your size using the size calculator – S, M, and L are available.\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\": \"S\", \"bust_min\": 85.0, \"bust_max\": 91.0, \"waist_min\": 65.0, \"waist_max\": 71.0, \"length_min\": 20.0, \"length_max\": 26.0}, {\"name\": \"M\", \"bust_min\": 89.0, \"bust_max\": 95.0, \"waist_min\": 71.0, \"waist_max\": 77.0, \"length_min\": 21.0, \"length_max\": 27.0}, {\"name\": \"L\", \"bust_min\": 94.0, \"bust_max\": 100.0, \"waist_min\": 77.0, \"waist_max\": 83.0, \"length_min\": 22.0, \"length_max\": 28.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: Triangle bikini with tie straps\u003c\/li\u003e\n\n\u003cli\u003e✔ Color: Silver, plain, shiny\u003c\/li\u003e\n\n\u003cli\u003e✔ Available sizes: S, M, L\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 shiny silver women's bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen bikinis slip in the water or don't fit after a few days\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eWhat really matters when buying a silver triangle bikini.\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\u003eThe top slips while swimming and constantly needs adjusting\u003c\/li\u003e\n\n\u003cli\u003eEstimating bikini sizes online is difficult\u003c\/li\u003e\n\n\u003cli\u003eThe fabric loses its shine or shape after one season\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany know this feeling: you go into the water, briefly dive under – and afterwards, something isn't sitting quite right. The top twists, the bottom slips. You spend more time readjusting than enjoying the actual day at the beach. This isn't a question of price, but often a question of the cut and the right size.\u003c\/p\u003e\n\n\u003cp\u003eTriangle bikinis with tie straps react to this situation somewhat differently than those with a fixed fit: they can be adjusted individually – tighter or looser, depending on how it feels. This can help the fit remain more stable during normal movement in the water. Not a promise, but a guideline.\u003c\/p\u003e\n\n\u003cp\u003eIf you plan more intensive water activities – surfing, diving, or longer swimming distances – a triangle bikini might not be the first choice. For quieter days at the lake, pool, or beach, it can work well. However, those with very pronounced body proportions between the top and bottom might find a more precise solution in a separately tailored model.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes the triangle cut suit how you spend your day at the beach?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate the cut \u0026amp; size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eAvailable sizes: S, M, L.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Top stays put during normal movement in the water\u003c\/li\u003e\n\n\u003cli\u003e→ Simple silver look matches many beach styles\u003c\/li\u003e\n\n\u003cli\u003e→ Tie straps can help with size uncertainty\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Triangle cut with tie straps – individually adjustable\u003c\/li\u003e\n\n\u003cli\u003e✅ Simple silver look, plain and shiny – understated yet present\u003c\/li\u003e\n\n\u003cli\u003e✅ Available in S, M, and L\u003c\/li\u003e\n\n\u003cli\u003e✅ Designed for relaxed days at the lake, pool, or beach with normal activity\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intensive water sports or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer fixed straps might find less support in a triangle cut\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those looking for striking patterns or bold colors will not find them here\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✅ Shiny silver women's bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips while swimming and needs readjusting\u003c\/td\u003e\n\n\u003ctd\u003eTie straps allow for individual fit – adjustable before going into the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBikini sizes are difficult to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with height and weight as guidance – S, M, L available\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eShiny fabrics often appear too conspicuous\u003c\/td\u003e\n\n\u003ctd\u003ePlain silver without patterns – the shine appears calm and understated depending on the light\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 exactly these situations with our shiny silver women's bikini – so you'll have to adjust less while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the shiny silver women's bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you'll notice: 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\u003eSalt water, 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, 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: 2 numbers\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \n  \n\u003cdiv class=\"bn-target\"\u003e\n\n  \u003ch3\u003eCould be a good fit if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eshiny silver women's 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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about shiny silver women's bikini\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 shiny silver women's triangle bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator helps you estimate – enter your height and weight. Triangle bikinis with tie straps can be adjusted in width, so if you are unsure between two sizes, the smaller choice is often more suitable. Available in S, M, and L.\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 waistband sit during 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 triangle cut with tie straps can be tightened individually, which can contribute to a more stable fit during normal movement in the water. For intensive water sports, a triangle cut is generally less suitable.\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 care for this shiny women's bikini correctly?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, then wash on a delicate cycle at 30°C. Do not tumble dry. This will help the fabric stay in shape 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\"\u003eIs this simple silver triangle bikini also suitable for Lake Constance?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the bikini is designed for peaceful days at the lake, pool, or beach. For very active water activities, a triangle cut is less suitable.\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\"\u003eDoes the fabric lose its silver shine over time?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eHow long the shine lasts depends, among other things, on care. Regular rinsing after wearing and washing at 30°C on a gentle cycle can help the fabric stay beautiful longer.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Silver shimmer in backlight on the water – brief flash, then calm\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Triangle shape on the loungers – simple, no pattern, just light on the fabric\" 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 receipt\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce to order – this reduces overproduction and inventory 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 identify with the scenarios above, a shiny silver women's bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eShiny silver women's bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€27.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        In the end, it's not about the garment itself, but about the moments you experience in it. \n        We hope that a shiny silver women's 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\": \"silber glänzender Bikini Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/1ddfe1cc-23b3-4e7a-a1bb-ba5a3f1aa7a3.jpg?v=1750424726\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"27.99\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Black \/ L","offer_id":45418876797196,"sku":"CJYJ197168109IR","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ M","offer_id":45418876829964,"sku":"CJYJ197168108HS","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ S","offer_id":45418876862732,"sku":"CJYJ197168107GT","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"rose \/ L","offer_id":45418876895500,"sku":"CJYJ197168106FU","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"rose \/ M","offer_id":45418876928268,"sku":"CJYJ197168105EV","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"rose \/ S","offer_id":45418876961036,"sku":"CJYJ197168104DW","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ L","offer_id":45418876993804,"sku":"CJYJ197168103CX","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ M","offer_id":45418877026572,"sku":"CJYJ197168102BY","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ S","offer_id":45418877059340,"sku":"CJYJ197168101AZ","price":27.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/1ddfe1cc-23b3-4e7a-a1bb-ba5a3f1aa7a3.jpg?v=1750424726"},{"product_id":"bikini-sommerlook","title":"Turquoise Bikini Floral Print","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that stays put at the beach – even when you go into the water?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that peaceful feeling when a bikini works all day long without you having to think twice about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd that's exactly where many people notice the difference – not when they first put it on, but after a long day at the beach.\u003c\/p\u003e\n\n  \u003ch2\u003eTurquoise Floral Print Bikini – for Beach, Lake, and Summer Days\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nA two-piece summer bikini with a floral pattern – the fresh turquoise and the flowers give the set a light, understated appeal. The fabric feels soft against the skin, offers freedom of movement, and looks calm and proportional on the body.\u003c\/p\u003e\n\n\u003cp\u003eThe floral pattern on a turquoise background was inspired by imagery reminiscent of warm summer days by the water – waking up in a hammock, the first dip in a cool lake, sitting on a rock by the shore. The color is fresh without being loud, the pattern is present without dominating. Together, they create a relaxed look – even when you haven't put in much effort.\u003c\/p\u003e\n\n\u003cp\u003eThe floral pattern has a distinct tone: it pairs just as well with a white beach towel as it does with a beige linen shirt that you can quickly throw on if you're heading straight for ice cream or coffee after the lake. The turquoise shade is clear enough to stand on its own – and subtle enough not to demand attention. If you prefer more structured, geometric patterns or bold primary colors, you might be looking for something different.\u003c\/p\u003e\n\n\u003cp\u003eBy the lakeside, when you come back from the water and look for your handbag. On the balcony while reading, as the sun gets low. On the last day of vacation, when you take one last quick swim before moving on. In such moments, a floral print bikini in turquoise is not a statement – it's simply the right thing to have with you.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern doesn't draw attention to itself – it simply sits calmly on the body while you're in the water.\u003cbr\u003e• The color remains fresh in your memory – not because it stands out, but because it was harmonious.\u003cbr\u003e• It's not a bikini you put on specifically for a photo – but one you put on because it's there and fits well.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you want to know which size is right for you: Our size calculator will help you.\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\": \"S\", \"bust_min\": 82.0, \"bust_max\": 87.0, \"waist_min\": 74.0, \"waist_max\": 79.0, \"hip_min\": 62.0, \"hip_max\": 67.0, \"height_min\": 150.0, \"height_max\": 160.0, \"weight_min\": 90.0, \"weight_max\": 105.0}, {\"name\": \"M\", \"bust_min\": 87.0, \"bust_max\": 92.0, \"waist_min\": 79.0, \"waist_max\": 84.0, \"hip_min\": 67.0, \"hip_max\": 72.0, \"height_min\": 155.0, \"height_max\": 160.0, \"weight_min\": 105.0, \"weight_max\": 115.0}, {\"name\": \"L\", \"bust_min\": 91.0, \"bust_max\": 96.0, \"waist_min\": 84.0, \"waist_max\": 89.0, \"hip_min\": 71.0, \"hip_max\": 76.0, \"height_min\": 160.0, \"height_max\": 165.0, \"weight_min\": 115.0, \"weight_max\": 125.0}, {\"name\": \"XL\", \"bust_min\": 96.0, \"bust_max\": 101.0, \"waist_min\": 89.0, \"waist_max\": 94.0, \"hip_min\": 76.0, \"hip_max\": 81.0, \"height_min\": 160.0, \"height_max\": 165.0, \"weight_min\": 125.0, \"weight_max\": 135.0}, {\"name\": \"2XL\", \"bust_min\": 101.0, \"bust_max\": 106.0, \"waist_min\": 94.0, \"waist_max\": 99.0, \"hip_min\": 81.0, \"hip_max\": 86.0, \"height_min\": 165.0, \"height_max\": 170.0, \"weight_min\": 135.0, \"weight_max\": 150.0}, {\"name\": \"3XL\", \"bust_min\": 106.0, \"bust_max\": 111.0, \"waist_min\": 99.0, \"waist_max\": 104.0, \"hip_min\": 86.0, \"hip_max\": 91.0, \"height_min\": 165.0, \"height_max\": 170.0, \"weight_min\": 150.0, \"weight_max\": 170.0}, {\"name\": \"4XL\", \"bust_min\": 111.0, \"bust_max\": 116.0, \"waist_min\": 104.0, \"waist_max\": 109.0, \"hip_min\": 91.0, \"hip_max\": 96.0, \"height_min\": 170.0, \"height_max\": 175.0, \"weight_min\": 170.0, \"weight_max\": 190.0}, {\"name\": \"5XL\", \"bust_min\": 116.0, \"bust_max\": 121.0, \"waist_min\": 109.0, \"waist_max\": 114.0, \"hip_min\": 96.0, \"hip_max\": 101.0, \"height_min\": 170.0, \"height_max\": 175.0, \"weight_min\": 190.0, \"weight_max\": 210.0}, {\"name\": \"6XL\", \"bust_min\": 121.0, \"bust_max\": 126.0, \"waist_min\": 114.0, \"waist_max\": 119.0, \"hip_min\": 101.0, \"hip_max\": 106.0, \"height_min\": 170.0, \"height_max\": 175.0, \"weight_min\": 210.0, \"weight_max\": 230.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✔ Material: 82% Polyester (polyester fabric, 200 g\/m²)\u003c\/li\u003e\n\n\u003cli\u003e✔ Fit: Two-piece bikini set, floral pattern on a turquoise background\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Rinse briefly with clear water after wearing, delicate wash 30 °C, do not tumble dry\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, the Turquoise Floral Print Bikini can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a Bikini Doesn't Play Along in the Water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit, comfort, and floral design for calm summer days.\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\u003eThe top slips when swimming\u003c\/li\u003e\n\n\u003cli\u003eIt's hard to estimate the size online\u003c\/li\u003e\n\n\u003cli\u003eThe waistband digs in after a few hours\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou go into the water, briefly dive under – and then something isn't quite right anymore. The top has shifted, the waistband suddenly sits differently, you adjust it. It's not a drama, but it costs attention that you'd rather put elsewhere.\u003c\/p\u003e\n\n\u003cp\u003ePart of it is due to the cut, part to the material. Fabrics with low elastane content lose their fit faster in water. Straps without neck support can give way during movement. These are not flaws – they are characteristics that are more or less relevant depending on the activity.\u003c\/p\u003e\n\n\u003cp\u003eThis bikini is designed for normal beach use – swimming, lying down, getting up, going back into the water. It is less intended for very sporty water activities or intensive swimming in fast lanes. If you are looking for everyday comfort by the water rather than athletic performance, it can be a suitable option. If, however, you are looking for a bikini for jumping off a pier or regular laps, a technically oriented model might be the better choice.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eWould a calmly fitting bikini with a floral design be right for your summer?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eAvailable sizes: S, M, L, XL.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Stays put calmly even after a long day at the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Floral pattern looks understated and proportional on the body\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✅ Floral pattern in fresh turquoise – subtle enough for relaxed vacation days\u003c\/li\u003e\n\n\u003cli\u003e✅ Designed for normal beach use – swimming, lying down, walking by the shore\u003c\/li\u003e\n\n\u003cli\u003e✅ Soft polyester fabric with stretch – comfortable on the skin during normal use\u003c\/li\u003e\n\n\u003cli\u003e✅ Simple look that is easy to combine\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not designed for competitive swimming or intensive water activities\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No separate size selection for top and bottom for this model\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer bold patterns or sporty cuts may not find what they are looking for here\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\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Turquoise Floral Print Bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips during movement in water\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for stable fit during normal beach use – including swimming and movement\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSizes online hard to estimate, especially with Asian size charts\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with height and weight as guidance; when in doubt, choose one size larger\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eWaistband digs in or feels uncomfortable after a few hours\u003c\/td\u003e\n\n\u003ctd\u003eStretchable polyester fabric that can adapt to the body shape with normal wear\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 such situations with the Turquoise Floral Print 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 the Turquoise Floral Print Bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you'll notice: 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 to dry, done. Delicate wash at 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: polyester fiber (polyester)Fabric composition content: 82 (%)Gram weight: 200 (g)Size Information:Note:1. Asian sizes are 1 to 2 sizes smaller than European and American people. Choose the larger size if your size between two sizes. Please allow 2-3 cm differences due to manual measurement.2. Please check the size chart carefully before you buy the item, if you don't know how to choose size, please contact our customer service.3.As you know, the different computers display colors differently, the color of the actual item may vary slightly from the following images.Packing list:Bikini X 1\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \n  \n\u003cdiv class=\"bn-target\"\u003e\n\n  \u003ch3\u003eCould be a good fit if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You're looking for a \u003cstrong\u003eTurquoise Floral Print 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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about the Turquoise Floral Print Bikini\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 this turquoise floral print bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eUse our size calculator with your height and weight as a guide. Since Asian sizes are generally 1-2 sizes smaller than European sizes, we recommend choosing one size larger if in doubt. The bikini is available in S, M, L, and XL.\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 waistband fit during movement – while walking, swimming, or sitting?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bikini is designed for normal beach use. During calm swimming, walking, and sitting, the fit generally remains stable. During very dynamic movements or athletic laps, the support may vary – the model is not specifically designed for this.\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 a floral print bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing. Delicate wash at 30 °C, do not tumble dry. This generally helps maintain color and shape 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\"\u003eIs this bikini also suitable for competitive swimming or intensive water activities?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eNot really – the model is designed for relaxed beach days or by the lake, not for athletic lap swimming or very intensive water activities. For the latter, a technically oriented sports bikini would be a more suitable 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\"\u003eCan I combine this turquoise floral print bikini separately?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe set is offered as a whole. Separate selection of top and bottom in different sizes is not currently provided for this model.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Türkisfarbenes Blumenmuster im Sonnenlicht am Seeufer\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Bikini mit Leinenhemd drüber beim Eisessen nach dem Schwimmen\" 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 to order – this reduces overproduction and excess stock 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 scenarios above, the Turquoise Floral Print Bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eTurquoise Floral Print Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€27.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 the Turquoise Floral Print 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\": \"Türkiser Bikini Blumenmuster\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/1623739823840.jpg?v=1750328253\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"27.99\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Blue \/ L","offer_id":45418917495052,"sku":"CJYJ117482403CX","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ M","offer_id":45418917527820,"sku":"CJYJ117482402BY","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ S","offer_id":45418917560588,"sku":"CJYJ117482401AZ","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ XL","offer_id":45418917593356,"sku":"CJYJ117482404DW","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ L","offer_id":45418917626124,"sku":"CJYJ117482407GT","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ M","offer_id":45418917658892,"sku":"CJYJ117482406FU","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ S","offer_id":45418917691660,"sku":"CJYJ117482405EV","price":27.99,"currency_code":"EUR","in_stock":true},{"title":"Snow white \/ XL","offer_id":45418917724428,"sku":"CJYJ117482408HS","price":27.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/1623739823840.jpg?v=1750328253"},{"product_id":"bikini-damen-set-3-teilig-mit-kleid","title":"Women's Striped Maxi Dress Set","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini set that fits just as well by the lake as it did when you first put it on?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that serene feeling when your top and bottom simply stay in place – whether you're going into the water or stretching out on your towel.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eOver the course of a long day at the beach, it often becomes clear how a set really fits – and whether the dress over it still makes sense or has long since become a beach towel.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's 3-piece Bikini Set with Striped Maxi Dress – for Lake, Beach and Vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this set is made for:\u003c\/strong\u003e\u003cbr\u003e\nA three-piece bikini set with a long striped maxi dress – designed for days when you go straight from the water to coffee without changing. Classic stripes in three calm color variations, sleeveless cut, light on the body.\u003c\/p\u003e\n\n\u003cp\u003eThe stripes are not a loud statement – they rather appear as a pattern you've always known. On the shores of Lake Constance, where the light falls flat over the water, this set blends into the surroundings without disappearing. Three subtle color variations allow a small choice – depending on whether you opt for cooler or warmer tones.\u003c\/p\u003e\n\n\u003cp\u003eThe maxi dress is long enough to go straight from the water to a beach café. The stripes run consistently, no abrupt color changes, no elaborate pattern – the dress makes little visual fuss and adapts to the rhythm of the day. Those who prefer simple patterns and are not looking for a dress with a print or striking logo will find a quiet alternative here.\u003c\/p\u003e\n\n\u003cp\u003eThree concrete situations where the set finds its place: walking along the shore after swimming, sitting on a boat dock with a drink in hand, or on the way from the hotel pool to the beach bar – the dress over the bikini, hands free.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The dress doesn't feel like an effort after putting it on – it's just there.\u003cbr\u003e• The stripes look calm in photos and in real light alike.\u003cbr\u003e• You wear the set all day without thinking about whether you're appropriately dressed.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you are not yet sure about the right size: Our size calculator helps you to estimate which variant suits you.\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\": \"S\", \"bust_min\": 72.0, \"bust_max\": 80.0, \"waist_min\": 60.0, \"waist_max\": 66.0, \"hip_min\": 78.0, \"hip_max\": 85.0}, {\"name\": \"M\", \"bust_min\": 80.0, \"bust_max\": 88.0, \"waist_min\": 64.0, \"waist_max\": 70.0, \"hip_min\": 85.0, \"hip_max\": 91.0}, {\"name\": \"L\", \"bust_min\": 88.0, \"bust_max\": 95.0, \"waist_min\": 68.0, \"waist_max\": 74.0, \"hip_min\": 91.0, \"hip_max\": 97.0}, {\"name\": \"XL\", \"bust_min\": 95.0, \"bust_max\": 103.0, \"waist_min\": 72.0, \"waist_max\": 78.0, \"hip_min\": 97.0, \"hip_max\": 105.0}, {\"name\": \"2XL\", \"bust_min\": 103.0, \"bust_max\": 110.0, \"waist_min\": 76.0, \"waist_max\": 82.0, \"hip_min\": 105.0, \"hip_max\": 112.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✔ Material: Polyester (fiber), sleeveless\u003c\/li\u003e\n\n\u003cli\u003e✔ Set includes: Bikini top, bikini bottom, maxi dress\u003c\/li\u003e\n\n\u003cli\u003e✔ Pattern: Stripes in three color variations\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\u003c\/div\u003e\n\n\n  \u003cp class=\"bn-mini-cta\"\u003eWhen cut and size suit you, the striped maxi dress set for women can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen bikini and dress don't complement each other, both stay in the suitcase\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA set that goes from morning to evening – without compromising on fit.\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\u003eThe top doesn't stay put while swimming\u003c\/li\u003e\n\n\u003cli\u003eThe dress doesn't match the bikini style and lies unused in the suitcase\u003c\/li\u003e\n\n\u003cli\u003eOnline sizing is difficult to estimate, especially for two-piece sets\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eSome people know this: The top fits well in the morning, but after a few laps in the lake, something has shifted. The dress over it is either too short, too tight or simply doesn't fit stylistically – and ends up unused in the backpack after the first day.\u003c\/p\u003e\n\n\u003cp\u003eThis is often less due to the quality of individual pieces, but rather to the fact that the bikini and dress were not designed as a system. Cut, length and pattern do not match – and you only notice this at the lake, not when trying it on at home.\u003c\/p\u003e\n\n\u003cp\u003eThis 3-piece bikini set with striped maxi dress is designed as a unit: top, bottom and dress are coordinated – in pattern, color tone and cut. This can help the set to work all day without you having to readjust. However, if you prefer to combine individual pieces or prefer a patterned bikini with a plain dress, this set may not be for you.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIs a coordinated set what you're looking for for your next vacation – or would you prefer to combine flexibly?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eCheck out the available color variations and choose the one that best suits your vacation mood.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Still fits snugly after a long day at the beach – no readjusting\u003c\/li\u003e\n\n\u003cli\u003e→ Dress and bikini complement each other visually, as if they had always been together\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✅ Three coordinated pieces – no separate searching necessary\u003c\/li\u003e\n\n\u003cli\u003e✅ Classic striped pattern in three calm color variations\u003c\/li\u003e\n\n\u003cli\u003e✅ Maxi dress allows direct transition from water to café\u003c\/li\u003e\n\n\u003cli\u003e✅ Simple design without striking print or logo\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intensive water sports activities or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer to combine bikini and dress individually and flexibly will not find a separate assortment here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No pattern with a strong color statement – for those who consciously prefer striking patterns\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\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✅ Striped Maxi Dress Set for Women\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips when swimming or moving\u003c\/td\u003e\n\n\u003ctd\u003eSet designed for a snug fit with normal movement – top and bottom coordinated\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBeach dress and bikini don't match stylistically\u003c\/td\u003e\n\n\u003ctd\u003eAll three pieces designed as a unit in pattern and color tone\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSize hard to estimate for online bikinis\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with height and weight as a guide\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eIndividual parts have to be laboriously combined and ordered\u003c\/td\u003e\n\n\u003ctd\u003eBikini top, bottom, and maxi dress as a coordinated 3-piece set\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 just such situations with the striped maxi dress set for women – so you have to make fewer adjustments when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the striped maxi dress set for women feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eConcrete 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 when moving.\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\u003eSalt water, sun, sand: The fabric retains its shape. No discoloration, no stretching.\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 – observe 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: Polyester Fiber (polyester)Sleeve length: sleeveless\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \n  \n\u003cdiv class=\"bn-target\"\u003e\n\n  \u003ch3\u003eCould be a good fit if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003estriped maxi dress set for women\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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about the Striped Maxi Dress Set for Women\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWhat is included in the Women's Striped Maxi Dress Set?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe set consists of three pieces: a bikini top, a bikini bottom, and a long striped maxi dress. All three pieces are coordinated in pattern and color tone.\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\"\u003eIs the Bikini Dress Set available in multiple colors?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the set is available in three subtle color variations. The stripes vary in tone and composition depending on the variant – all are designed for a calm, timeless look.\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 find the right size for the 3-piece Women's Bikini Set with Dress?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eUse our size calculator and enter your height and weight – this will give you a good reference point. If you are unsure between two sizes, we generally recommend choosing the larger variant so that the dress falls 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 do I care for the Bikini Set with Striped Maxi Dress correctly?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing. Wash at 30 °C on a delicate cycle, do not tumble dry. This keeps the material dimensionally stable for 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\"\u003eIs the simple Bikini Set with Maxi Dress also suitable for active water activities?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe set is designed for relaxed days by the lake, beach or pool. It is less suitable for intensive water sports activities or competitive swimming – there is swimwear specifically designed for that.\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\"\u003eWhat material is the Striped Maxi Dress Set made of?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe set is made of polyester fiber (polyester). The material is lightweight and well-suited for warm days by the water. Please observe the care instructions – not suitable for tumble drying.\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\"\u003ePlus 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=\"Even stripes in the light on the shores of Lake Constance\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Long maxi dress in the wind walking from the water to the beach cafe\" 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 receipt\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 identify with the scenarios above, the striped maxi dress set for women could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eStriped Maxi Dress Set for Women\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€37.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 striped maxi dress set for women 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: 2026-05-20\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\": \"gestreiftes Maxikleid Set Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/e37321e5-9fb3-47ab-89df-1c1d8e0b4f3e.jpg?v=1714728774\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"37.99\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Blue \/ L","offer_id":45418955505932,"sku":"CJYJ191058703CX","price":37.99,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ M","offer_id":45418955538700,"sku":"CJYJ191058702BY","price":37.99,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ S","offer_id":45418955571468,"sku":"CJYJ191058701AZ","price":37.99,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ XL","offer_id":45418955604236,"sku":"CJYJ191058704DW","price":37.99,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ L","offer_id":45418955637004,"sku":"CJYJ191058707GT","price":37.99,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ M","offer_id":45418955669772,"sku":"CJYJ191058706FU","price":37.99,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ S","offer_id":45418955702540,"sku":"CJYJ191058705EV","price":37.99,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ XL","offer_id":45418955735308,"sku":"CJYJ191058708HS","price":37.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ L","offer_id":45418955768076,"sku":"CJYJ191058711KP","price":37.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ M","offer_id":45418955800844,"sku":"CJYJ191058710JQ","price":37.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ S","offer_id":45418955833612,"sku":"CJYJ191058709IR","price":37.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ XL","offer_id":45418955866380,"sku":"CJYJ191058712LO","price":37.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/e37321e5-9fb3-47ab-89df-1c1d8e0b4f3e.jpg?v=1714728774"},{"product_id":"bikini-triangel-mit-schnurung-und-wellig-2025","title":"Women's Mesh Bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that stays put at the beach – and even after a long day?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a bikini simply fits – without having to think about it throughout the day.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd it's precisely in everyday situations by the water that many notice the difference – not when putting it on, but after the second or third time in the water.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Mesh Bikini – Triangle Cut for Lakes, Beaches, and Vacations\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nTriangle top with adjustable lacing – for a customizable fit, fine mesh pattern in a neutral tone, fabric with light elasticity.\u003c\/p\u003e\n\n\u003cp\u003eThe mesh pattern is subtle enough not to be conspicuous – yet present enough to give the cut its own texture. On the shore, where the light hits the water flat, it appears calm and clear. No obtrusive pattern, no strong statement – rather a quiet detail that you discover upon closer inspection.\u003c\/p\u003e\n\n\u003cp\u003eThe neutral color scheme can be combined with many things – a light linen cover-up, a bright beach towel, a simple summer skirt. The triangle cut follows a reduced line that neither stands out nor disappears. For those who don't want their bikini to be the main attraction, this can be a suitable choice.\u003c\/p\u003e\n\n\u003cp\u003eWhether by the lake after work, on a weekend trip to the water, or on vacation for several days – this bikini is designed for uncomplicated wear. You put it on, go into the water, come out, lie in the sun. No tugging, no readjusting after every movement.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The mesh pattern appears lively in the sunlight without dominating – calm elegance on the skin.\u003cbr\u003e• The lacing on the top can be individually adjusted – so the triangle fits exactly as you need it.\u003cbr\u003e• The neutral tone makes combinations at the beach easy – without much thought.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eChoose your size using the size calculator – or check the size chart if you are unsure.\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 (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\": \"S\", \"length_min\": 19.5, \"length_max\": 25.5, \"bust_min\": 85.0, \"bust_max\": 91.0, \"height_min\": 7.0, \"height_max\": 17.0, \"width_min\": 7.199999999999999, \"width_max\": 13.2, \"waist_min\": 65.0, \"waist_max\": 71.0}, {\"name\": \"M\", \"length_min\": 20.5, \"length_max\": 26.5, \"bust_min\": 89.0, \"bust_max\": 95.0, \"height_min\": 8.0, \"height_max\": 18.0, \"width_min\": 8.2, \"width_max\": 14.2, \"waist_min\": 69.0, \"waist_max\": 75.0}, {\"name\": \"L\", \"length_min\": 21.5, \"length_max\": 27.5, \"bust_min\": 94.0, \"bust_max\": 100.0, \"height_min\": 9.0, \"height_max\": 19.0, \"width_min\": 9.2, \"width_max\": 15.2, \"waist_min\": 74.0, \"waist_max\": 80.0}, {\"name\": \"XL\", \"length_min\": 22.5, \"length_max\": 28.5, \"bust_min\": 99.0, \"bust_max\": 105.0, \"height_min\": 10.0, \"height_max\": 20.0, \"width_min\": 10.2, \"width_max\": 16.2, \"waist_min\": 79.0, \"waist_max\": 85.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: Triangle top with adjustable lacing\u003c\/li\u003e\n\n\u003cli\u003e✔ Pattern: fine mesh pattern, neutral color\u003c\/li\u003e\n\n\u003cli\u003e✔ Available sizes: S, M, L, XL\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 fit you, the women's mesh bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini doesn't stay put in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit, cut, and a subtle pattern – for carefree days by the water.\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\u003eThe top slips even after the first swim\u003c\/li\u003e\n\n\u003cli\u003eThe waistband feels uncomfortably tight after an hour\u003c\/li\u003e\n\n\u003cli\u003eIt's hard to estimate the size online\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany know the feeling: you go into the water, briefly dive under – and afterwards the bikini no longer sits as it should. The top pulls in one direction, the waistband has shifted. You adjust it, go back in, adjust it again. This is not an isolated incident, but a common experience with bikinis that are not designed for movement in the water.\u003c\/p\u003e\n\n\u003cp\u003eThe reason often lies in the cut and the lack of ability to actively adjust the fit. A triangle top without adjustable lacing leaves little room for maneuver – either it fits, or it doesn't. In addition, there are size differences between the top and bottom, which are difficult to estimate online.\u003c\/p\u003e\n\n\u003cp\u003eThis mesh bikini features adjustable lacing on the top – so the fit can be individually adjusted, even if you are between two sizes. The bottom can be chosen separately. If you are looking for a bikini that can handle very sporty water activities or competitive swimming, a sports swimsuit with a tight back closure might be a more suitable choice. For calmer swimming days – lake, pool, beach – this cut is generally sufficient.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eHow much movement in the water do you expect from your bikini – and which cut suits that?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eAvailable sizes: S, M, L, XL.\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→ Stays put while walking and sitting on the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Lacing can be readjusted effortlessly after swimming\u003c\/li\u003e\n\n\u003cli\u003e→ Neutral coloring remains combinable after the season\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✅ Triangle top with adjustable lacing – fit can be individually adjusted\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be chosen separately – simplifies finding the right size\u003c\/li\u003e\n\n\u003cli\u003e✅ Subtle mesh pattern in a neutral tone – combinable and unobtrusive\u003c\/li\u003e\n\n\u003cli\u003e✅ Designed for calm swimming days at the lake, pool, or beach under normal stress\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intensive swimming or sporty water activities\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer a striking pattern or bold colors will find a very understated look here\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 product 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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Mesh Bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips during swimming\u003c\/td\u003e\n\n\u003ctd\u003eAdjustable lacing can help keep the fit more stable even with movement in the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSize hard to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom can be chosen separately, size calculator available as a guide\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern or color too dominant for everyday wear by the water\u003c\/td\u003e\n\n\u003ctd\u003eNeutral mesh pattern and calm coloring – subtly 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 considered precisely such situations with the women's mesh 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 the women's mesh bikini feels in everyday wear\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\u003eAt the beach\u003c\/h4\u003e\n\n      \u003cp\u003eSalt water, 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: 2 numbers\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\u003ewomen's mesh bikini\u003c\/strong\u003e with a fit that can suit 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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently asked questions about women's mesh bikini\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 the mesh bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eTop and bottom can be selected separately, which simplifies size selection. Our size calculator helps you with height and weight to get an estimate. If you are unsure between two sizes, it can help to choose the larger option for the top and adjust the lacing.\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\"\u003eDoes the triangle top stay put during swimming?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe top is designed with adjustable lacing and can therefore be individually adjusted. During calm swimming and normal movement in the water, it generally sits stably. For very intensive water activities or competitive swimming, a sports swimsuit with a closed back is more suitable.\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 care for a mesh bikini properly?\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 – lay flat to air dry to maintain shape and elasticity.\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\"\u003eDoes the simple triangle bikini with mesh pattern match different styles?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe neutral color scheme and subtle mesh pattern can be combined with light cover-ups, light summer skirts, or classic beach towels. The cut is deliberately minimalistic – without a particular style statement, but also without disappearing.\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\"\u003eIs the mesh bikini also suitable for Lake Constance?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe triangle bikini is designed for relaxed wear by the water – whether lake, outdoor pool, or vacation. For calmer swimming days at Lake Constance or similar waters, the cut and material are generally well-suited.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Fine mesh pattern in backlight by the water – calm texture, no loud pattern\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Triangle top with visible lacing – simple lines\" 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 warehouse stock, 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 scenarios above, the women's mesh 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\"\u003eWomen's Mesh Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€29.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 women's mesh 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: 2026-05-20\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\": \"Bikini mit Netzmuster Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/O1CN010FPpne2ALhV99zSMU__2201489998187-0-cib.jpg?v=1750327541\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"29.99\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Khaki \/ L","offer_id":45418979852556,"sku":"CJYJ197182103CX","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Khaki \/ M","offer_id":45418979885324,"sku":"CJYJ197182102BY","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Khaki \/ S","offer_id":45418979918092,"sku":"CJYJ197182101AZ","price":29.99,"currency_code":"EUR","in_stock":true},{"title":"Khaki \/ XL","offer_id":45418979950860,"sku":"CJYJ197182104DW","price":29.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/O1CN010FPpne2ALhV99zSMU__2201489998187-0-cib.jpg?v=1750327541"},{"product_id":"bikini-damen-new-look2024-triangel","title":"two-tone bikini mint green white","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that stays put at the lake – and remains calm?\u003c\/p\u003e\u003c\/div\u003e\n\n  \n  \n  \u003ch2\u003eWomen's Triangle Bikini in Mint Green-White – Two-Tone, Simple, for Lake and Beach\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nTriangle cut with adjustable straps – subtle mint green and white in a clean, two-tone design, nylon fabric that feels pleasantly soft.\u003c\/p\u003e\n\n\u003cp\u003eThe mint green-white color combination looks calm and timeless – no frantic pattern, no loud print. Anyone who stands on the shore of Lake Constance in the morning and sees the light on the water might understand why these colors fit so well. Mint green has a cool freshness, white keeps it bright and open. Together, they create an image that needs no explanation.\u003c\/p\u003e\n\n\u003cp\u003eThe triangle cut follows a proven form: not too sporty, not too playful. On the pier for the first jump into the water or on a towel with closed eyes – this design blends in without drawing attention. The mint green adds a subtle accent, the white gives lightness. If you like to keep your summer look minimalist, this bikini can be easily combined with natural colors – sand beige, olive green, light linen.\u003c\/p\u003e\n\n\u003cp\u003eAs a gift for someone who appreciates simple swimwear, this two-tone women's bikini works well when you don't want to make a grand gesture – but simply show that you know what suits the other person. For yourself, it is a calm piece of summer that fits year after year.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The mint green looks fresh in the sunlight without being intrusive – a shade that works equally well on light and dark skin.\u003cbr\u003e• The white component keeps the overall look light – not heavy color blocking, but a calm interplay.\u003cbr\u003e• The design can be worn for seasons without looking \"last year's.\"\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you want to estimate size and cut, our size calculator can help.\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 (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\": \"S\", \"height_min\": 153, \"height_max\": 163, \"weight_min\": 50, \"weight_max\": 60}, {\"name\": \"M\", \"height_min\": 158, \"height_max\": 168, \"weight_min\": 58, \"weight_max\": 68}, {\"name\": \"L\", \"height_min\": 163, \"height_max\": 173, \"weight_min\": 66, \"weight_max\": 76}, {\"name\": \"XL\", \"height_min\": 168, \"height_max\": 178, \"weight_min\": 74, \"weight_max\": 84}]}];\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✔ Material: Nylon, elastic, skin-friendly\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: Triangle top with adjustable straps\u003c\/li\u003e\n\n\u003cli\u003e✔ Color: Mint green-white, two-tone, solid\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 two-tone mint green and white bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini doesn't sit well in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit, feel, and cut – what really matters when wearing 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 slides up when swimming\u003c\/li\u003e\n\n\u003cli\u003eWaistband presses uncomfortably after a few hours\u003c\/li\u003e\n\n\u003cli\u003eSize hard to estimate online\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eWho hasn't experienced this: You go into the water, dive under, come back up – and then the first thing you do is pull at the top. Not the first time, but at some point during the day it becomes a small habit. The bikini fits, but it doesn't stay put.\u003c\/p\u003e\n\n\u003cp\u003eThis is often less about the size and more about the cut and material. A triangle top with adjustable straps can be better adapted to different proportions than a model with a fixed strap shape. The elastic nylon fabric adapts to movement without stretching out – under normal use like swimming, standing up, or a long day at the beach.\u003c\/p\u003e\n\n\u003cp\u003eThis two-tone bikini in mint green-white is designed for precisely this calm, everyday use: lake, pool, vacation – little effort, secure fit. However, if you are planning very dynamic water activities or intense competitive swimming, a sporty swimsuit with a firm back might be a more suitable choice for you.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDo you prefer a bikini that remains subtle – or should it make a statement?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate the cut and size – just enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTake your time to browse through the available sizes and options – without any pressure.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Secure fit even after a long day at the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Color looks fresh in the sunlight without dominating\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Two-tone, calm design – subtly combinable\u003c\/li\u003e\n\n\u003cli\u003e✅ Triangle cut with adjustable straps for an adaptable fit\u003c\/li\u003e\n\n\u003cli\u003e✅ Elastic nylon – adapts well under normal use\u003c\/li\u003e\n\n\u003cli\u003e✅ Simple mint green-white – timelessly wearable over several seasons\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not designed for intense competitive swimming or performance swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer striking prints or patterns will find a more minimalist design here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ For very dynamic water activities, a sporty swimsuit may be more suitable\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ two-tone mint green white bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slides up when swimming\u003c\/td\u003e\n\n\u003ctd\u003eAdjustable triangle straps can be adapted to different proportions\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBikini sizes hard to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with height and weight as guidance\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eFabric feels unpleasantly stiff when wet\u003c\/td\u003e\n\n\u003ctd\u003eElastic nylon – remains soft and flexible under normal use\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 with the two-tone mint green and white bikini – so you'll have to adjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the two-tone mint green and white bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you'll notice: 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\u003eAt 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 at 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: Skin-friendly, elastic polyamide – quick-drying \u0026amp; easy to care for\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\u003etwo-tone mint green white 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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about the Two-Tone Mint Green White Bikini\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWhat distinguishes this two-tone mint green-white bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bikini combines a calm mint green with white in a two-tone, simple design. The triangle cut is adjustable, the material is an elastic nylon that feels pleasant on the skin – without appearing stiff or tight.\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\"\u003eWhat activities is this simple triangle bikini for women in mint green and white suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eIt is designed for relaxed use at the lake, pool, or beach – swimming, sunbathing, strolling along the shore. For intense competitive swimming or very dynamic water activities, a sporty swimsuit with a firm back is generally more suitable.\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 find the right size for the bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSince tops and bottoms often require different sizes, it's worth considering both separately. Our size calculator will help you with this – just enter your height and weight. If unsure, going one size up can be a comfortable option.\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 care for this bikini properly?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing. Machine wash at 30 °C on a delicate cycle is possible. Do not tumble dry – air drying preserves the shape and material 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\"\u003eHow does the waistband sit when moving?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe elastic nylon fabric adapts well under normal use. The adjustable triangle strap can be adapted to different proportions, so the fit usually remains secure – even when swimming or getting up from the beach towel.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Mint green top in sunlight on Lake Constance shore\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"White bottom contrast on sand-colored background\" 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 receipt\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce to order – this reduces overproduction and inventory 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 scenarios above, the two-tone mint green and white bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003etwo-tone mint green white bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€30.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 two-tone mint green and white 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\": \"zweifarbiger Bikini mintgrün weiß\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/O1CN01glWl9y2ALhUtmQK2i__2201489998187-0-cib.jpg?v=1714728770\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"30.99\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Marshmallow \/ L","offer_id":45418998726924,"sku":"CJYJ197185303CX","price":30.99,"currency_code":"EUR","in_stock":true},{"title":"Marshmallow \/ M","offer_id":45418998759692,"sku":"CJYJ197185302BY","price":30.99,"currency_code":"EUR","in_stock":true},{"title":"Marshmallow \/ S","offer_id":45418998792460,"sku":"CJYJ197185301AZ","price":30.99,"currency_code":"EUR","in_stock":true},{"title":"Marshmallow \/ XL","offer_id":45418998825228,"sku":"CJYJ197185304DW","price":30.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/O1CN01glWl9y2ALhUtmQK2i__2201489998187-0-cib.jpg?v=1714728770"},{"product_id":"bikini-blumenmuster-3-teilig-must-have-2024","title":"Women's Floral Print Bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a floral bikini stay put on the beach just as well as when you first put it on?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a bikini simply moves with you – while swimming, getting up from the sunlounger, throughout the entire day.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd it's precisely on such days that many notice the difference – not at first glance, but after a few hours in the water and sun.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Floral Bikini – Tropical Design with Geometric Borders for Beach and Pool\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\n3-piece set with a tropical floral design – designed for beach days when you go into the water more than once without a second thought.\u003c\/p\u003e\n\n\u003cp\u003eTropical flowers, palm leaves, and delicate geometric borders – this pattern moves between playful and structured. It's not plain and simple, but also not loud. The women's floral bikini from the Bodensee brand follows an imagery that suits summer without overstating it. On the shore of the lake, on a sunlounger in the midday sun, or when packing up the beach towel – the pattern appears naturally in such moments.\u003c\/p\u003e\n\n\u003cp\u003eThe color scheme is vibrant enough to shine on the water, and calm enough to be combined with a beach towel or a simple linen top. If you want to create several holiday outfits from just a few pieces, a 3-piece set offers more flexibility – depending on which combination suits you best. The tropical floral design with geometric borders has a clear line that prevents the pattern from looking cluttered.\u003c\/p\u003e\n\n\u003cp\u003eYou pack a floral bikini when your summer trip is more than just one day. When you go to the lake in the morning, lie by the pool in the afternoon, and want to go for a quick swim in the evening. Or when the set is packed as a travel companion because you know you'll wear it more than once. The 3-piece format makes it easier to create different looks – without a lot of extra luggage.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern stands out without dominating – you wear it without having to explain yourself.\u003cbr\u003e• Three pieces, one set – can be combined depending on what the day requires.\u003cbr\u003e• The design evokes a holiday feeling, even if you're just by the lake for a short time.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eTake a look at the detailed photos – the pattern often appears slightly different in real life than in the first picture.\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\": \"S\", \"height_min\": 153, \"height_max\": 163, \"weight_min\": 50, \"weight_max\": 60}, {\"name\": \"M\", \"height_min\": 158, \"height_max\": 168, \"weight_min\": 58, \"weight_max\": 68}, {\"name\": \"L\", \"height_min\": 163, \"height_max\": 173, \"weight_min\": 66, \"weight_max\": 76}, {\"name\": \"XL\", \"height_min\": 168, \"height_max\": 178, \"weight_min\": 74, \"weight_max\": 84}]}];\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✔ Set Contents: 3-piece (top, bottoms, additional piece – check product images for details)\u003c\/li\u003e\n\n\u003cli\u003e✔ Material: Polyester – easy-care, shape-retaining under normal use\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Tropical floral pattern with geometric borders, vibrant colors\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 are right for you, the women's floral bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eAssessing Fit and Comfort for Movement in Water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eWhat often remains unclear when buying a bikini online – and what matters.\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\u003eThe bikini looks good, but whether it really fits well is hard to judge\u003c\/li\u003e\n\n\u003cli\u003ePolyester doesn't always feel the way you imagine it would\u003c\/li\u003e\n\n\u003cli\u003eWith a 3-piece set, it's not always immediately clear what exactly is included\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou put on the bikini, it looks good – and then you go into the water, swim a few laps, or just stand up. It's in these moments that a bikini truly shows if it fits. Not when you first put it on in front of the mirror, but when you move, when you get out of the water, when you sit down on the sunlounger.\u003c\/p\u003e\n\n\u003cp\u003ePolyester has a pragmatic reason in swimwear: the material is designed to hold its shape under normal stress and absorb less water than other fibers. The feel when wet and dry can differ – with polyester, the transition is usually quicker. If you prefer natural fibers, you won't find them here; that's an honest note.\u003c\/p\u003e\n\n\u003cp\u003eThis 3-piece bikini set can be an option if you want combination flexibility for your summer trip without having to buy several separate pieces. If, however, you are looking for a very minimalist, plain design or prefer heavily shaping swimwear, this floral bikini is probably not for you – the pattern has character, and the cut aims for comfortable fit, not compression.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes a tropical floral pattern match what you envision for your next beach day?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate the cut and size – just enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTake your time to look at the size chart – if you're unsure between two sizes, it can help to choose the slightly larger one to ensure a comfortable fit even when moving.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Secure fit on the beach – when walking, swimming, and getting up from the sunlounger\u003c\/li\u003e\n\n\u003cli\u003e→ Multiple looks from one 3-piece set when traveling\u003c\/li\u003e\n\n\u003cli\u003e→ Floral pattern that looks just as good by the lake as by the pool\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 helps you decide\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ 3-piece set – can offer more combination possibilities for beach days\u003c\/li\u003e\n\n\u003cli\u003e✅ Tropical floral pattern with geometric borders – expressive but structured\u003c\/li\u003e\n\n\u003cli\u003e✅ Polyester – designed for shape retention and easy-care wear under normal use\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not ideal for those who prefer a minimalist, plain design\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Less suitable for those looking for heavily shaping or compressive swimwear\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not a natural fiber material – a relevant note for those who prioritize this\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Floral Bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern often looks different in reality than in product images\u003c\/td\u003e\n\n\u003ctd\u003eTropical floral design clearly named; detailed photos can help better assess the pattern's effect\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eMulti-piece sets often leave unclear what exactly is included\u003c\/td\u003e\n\n\u003ctd\u003e3-piece version with a clear number of parts – details verifiable in product description and images\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSwimwear often loses shape and color intensity with frequent wear\u003c\/td\u003e\n\n\u003ctd\u003ePolyester is designed for shape retention under normal use; vibrant coloring through tropical floral print\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBikini fit during movement and in water often difficult to predict\u003c\/td\u003e\n\n\u003ctd\u003eCut designed for comfortable fit; size chart and size calculator help assess the fit\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 such situations with the women's floral bikini – so you'll have to adjust less while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the Women's Floral 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, 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: Easy-care, quick-drying polyester – comfortable on the skin, maintains shape\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \n  \n\u003cdiv class=\"bn-target\"\u003e\n\n  \u003ch3\u003eCould be a good fit if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You're looking for a \u003cstrong\u003ewomen's floral 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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about Women's Floral Bikini\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWhich parts are included in the 3-piece floral bikini set?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe set includes three pieces – usually a bikini top, bikini bottoms, and another item such as a beach wrap or cover-up. The exact composition can best be checked using the product images and detailed description before ordering.\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 find the right size for this floral bikini when buying online?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe most helpful approach is a combination of the size chart and your own measurements (bust, waist, hips). If you are unsure between two sizes, it may be advisable to choose the slightly larger one – especially if the bikini should also fit comfortably while swimming and moving. Our size calculator can help with this.\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 a polyester 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, cool water. Wash at 30 °C on a delicate cycle, do not tumble dry. This way, the material will remain shape-retaining longer with normal care.\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\"\u003eDoes the tropical floral pattern with geometric borders look the same on the body as in the product image?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003ePatterns can appear slightly different in product photos than in reality – scaling, color intensity, and detail effect vary depending on light and screen. The detailed photos usually give a better impression than the main image. If in doubt, it's worth taking a close look at all available shots.\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 this floral bikini less suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eIf you are looking for a very simple, plain design or prefer heavily shaping and compressive swimwear, you probably won't be entirely happy with this set. Also, if natural fibers are a top priority, please note that the material is polyester.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/die-perfekte-bademode-finden\"\u003eFinding the Perfect Swimwear\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-fur-damen-finden-sie-den-perfekten-badeanzug-fur-den-sommer-2024\"\u003eWomen's Swimsuits: Find the Perfect Swimsuit for Summer 2024\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/bikini-damen\/wie-man-den-perfekten-bikini-fur-seine-korperform-findet\"\u003eHow to Find the Perfect Bikini for Your Body Shape\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=\"Tropical flowers and palm leaves in detail – pattern close-up\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Geometric borders as a calm counterpoint to the playful floral print\" 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 receipt\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 excess stock, 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: Bodensee Brand – Information checked 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 scenarios above, the women's floral bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Floral Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€41.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 women's floral 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\": \"Bikini Blumenmuster Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/O1CN01jC3v9O1fsu6tXP362__2214331894063-0-cib.jpg?v=1750326013\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"41.99\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Sky blue \/ L","offer_id":45419011703052,"sku":"CJYD200229703CX","price":41.99,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ M","offer_id":45419011735820,"sku":"CJYD200229702BY","price":41.99,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ S","offer_id":45419011768588,"sku":"CJYD200229701AZ","price":41.99,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ XL","offer_id":45419011801356,"sku":"CJYD200229704DW","price":41.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/O1CN01jC3v9O1fsu6tXP362__2214331894063-0-cib.jpg?v=1750326013"},{"product_id":"bikini-mit-kette-im-oberteil","title":"black bikini with gold chain","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a chain bikini stay put even after a long day at the beach?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that feeling when a bikini just stays in place – without constant readjusting.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eYou often don't notice the difference immediately, but rather when you get up from your towel for the second time or take your first jump into the water.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Chain Bikini – Black Bikini with Gold Chain for Lake, Pool, and Vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this black bikini with gold chain is made for:\u003c\/strong\u003e\u003cbr\u003e\nA bikini in simple black, accented by a delicate gold chain on the top – subtle, not intrusive. Elastic fabric made of 78% polyamide and 22% elastane, which adapts as you walk and in the water.\u003c\/p\u003e\n\n\u003cp\u003eThe design thrives on reduction. Black fabric without a pattern, with a gold chain resting on the top – so discreet that it's barely noticeable in the sunlight on the shore of Lake Constance, yet present enough to hold the look together. No appliqués, no print – just line and shine.\u003c\/p\u003e\n\n\u003cp\u003eOn the beach, the chain feels warm on the skin as you stand in the shallow water. By the pool, when you get up from your lounge chair, it briefly catches the light and then settles back down. The simple black tone can be combined with a white linen cloth, a beach chair, or a simple summer look – without appearing strained.\u003c\/p\u003e\n\n\u003cp\u003eAs a gift, this bikini with a jewelry chain says: I know what suits you, without saying it out loud. Not playful, not dramatic – rather the opposite. For someone who likes things that have a long-lasting, calm appeal.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The chain lies flat and warm on the skin – no jingling, no snagging\u003cbr\u003e• The black stays black: no fading in bright summer light\u003cbr\u003e• You don't constantly readjust when you move – it stays in place\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you prefer bikini tops with striking prints or colorful patterns, this bikini is probably not your style – it deliberately opts for understatement.\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\": \"S\"}, \"sizes\": [{\"name\": \"S\", \"bust_min\": 66.0, \"bust_max\": 70.0, \"waist_min\": 68.0, \"waist_max\": 72.0, \"hip_min\": 72.0, \"hip_max\": 76.0}, {\"name\": \"M\", \"bust_min\": 70.0, \"bust_max\": 74.0, \"waist_min\": 72.0, \"waist_max\": 76.0, \"hip_min\": 76.0, \"hip_max\": 80.0}, {\"name\": \"L\", \"bust_min\": 74.0, \"bust_max\": 78.0, \"waist_min\": 76.0, \"waist_max\": 80.0, \"hip_min\": 80.0, \"hip_max\": 84.0}, {\"name\": \"XL\", \"bust_min\": 78.0, \"bust_max\": 82.0, \"waist_min\": 80.0, \"waist_max\": 84.0, \"hip_min\": 84.0, \"hip_max\": 88.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✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Gentle wash 30 °C, do not tumble dry\u003c\/li\u003e\n\n\u003cli\u003e✔ Size selection: Top by bust, bottom by waist and hips – separately selectable\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 bikini with a gold chain can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini slips in the water or gives way after a few days\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eStays put, without you having to think about 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\u003eThe top shifts out of position when swimming\u003c\/li\u003e\n\n\u003cli\u003eThe waistband digs in or rolls inwards\u003c\/li\u003e\n\n\u003cli\u003eThe fabric feels sticky or heavy when wet\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou know the feeling: you go into the water, briefly dive under, and when you resurface, the top isn't quite right anymore. Or the waistband rolled up when you sat down on your towel. Small things – but they steal the lightness of the day.\u003c\/p\u003e\n\n\u003cp\u003eFor many bikinis, this is due to a combination of cut and material: too little elastane causes the fabric to sag in the water, too much gives way and doesn't spring back. This model is designed with 22% elastane – enough to hold its shape without constricting.\u003c\/p\u003e\n\n\u003cp\u003eWhether this suits you also depends on how you move in the water. If you dive a lot, ride waves, or do active water sports, a different cut might be better. For a relaxing day at the lake, pool, or beach, this chain bikini can be a suitable option – depending on the fit you prefer.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes a calm, understated design match how you feel most comfortable at the water?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you assess the cut and size – just enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTops and bottoms are selectable separately, each by bust, waist, and hips – so both fit as they should.\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 – even with the first jump into the water\u003c\/li\u003e\n\n\u003cli\u003e→ Chain lies flat and warm on the skin, without rubbing\u003c\/li\u003e\n\n\u003cli\u003e→ Black typically remains rich after several washes on a gentle cycle at 30 °C\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✅ Subtle gold chain accent on the top – noticeable without being intrusive\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom selectable separately by bust, waist, and hips\u003c\/li\u003e\n\n\u003cli\u003e✅ 22% elastane content – for a stable fit with normal movement\u003c\/li\u003e\n\n\u003cli\u003e✅ Simple black – can be combined with various beach looks\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not designed for intensive water sports or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Minimalist plain design – less suitable if you prefer prints or colors\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not a sporty cut – there are more suitable models for active water 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\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ black bikini with gold chain\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips when swimming or getting up\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for stable fit with normal movement in the water – thanks to 22% elastane in the fabric\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSizes hard to estimate online for bikinis\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom selectable separately + size calculator with height and weight\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBlack fabric fades quickly after the season\u003c\/td\u003e\n\n\u003ctd\u003ePolyamide-elastane fabric – with careful treatment, the color typically remains stable longer\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eChain details jingle or snag when worn\u003c\/td\u003e\n\n\u003ctd\u003eGold chain lies flat against the top – no moving individual parts\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 with the black bikini with gold chain – so you have to readjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the black bikini with gold chain feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you notice: 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 when moving.\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, done. Gentle 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: Gentle 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 fit well if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eblack bikini with a gold chain\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 intrusive\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 Gentle 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 the black bikini with gold chain\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 bikini with a gold chain?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSince the top and bottom are selected separately, you can order both pieces individually by measurement: the top according to your bust size, the bottom according to your waist and hips. Our size calculator helps you with this – height and weight are enough for initial guidance.\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 waistband of the bikini bottom fit when moving?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bottom is designed for a stable fit during normal movement – when walking, getting up from your towel, or swimming in calm water. For very active water sports, a specifically sporty cut may be more suitable.\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\"\u003eIs this elegant black bikini with a chain also suitable for a day at the lake?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the model is designed for calm everyday use at the lake, pool, or beach – not for intensive water sports or competitive swimming. The material, 78% polyamide and 22% elastane, adapts to normal wear.\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 the bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eAfter wearing, it's best to rinse briefly with clear water. Wash at 30 °C on a gentle cycle, do not tumble dry. This generally helps maintain its shape and elasticity 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 – the top and bottom are available separately. The top is chosen based on bust width, the bottom based on waist and hips. This makes it easier to find a fit that matches your measurements.\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\"\u003ePlus 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=\"Gold chain lies warm on the black fabric in the sunlight on the shore of Lake Constance\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Getting up from the towel – bikini still in the same place as when lying down\" 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 receipt\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 items!\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 identify with the scenarios above, the black bikini with gold chain could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eblack bikini with gold chain\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€29.95\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 bikini with gold chain 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: 2026-05-20\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 mit Goldkette\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/072d2f55-3131-490d-8e8e-6d0e53051df9.jpg?v=1750320345\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"29.95\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Ebony black \/ L","offer_id":49336970707212,"sku":"CJYJ201802807GT","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ M","offer_id":49336970739980,"sku":"CJYJ201802806FU","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ S","offer_id":49336970772748,"sku":"CJYJ201802805EV","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Ebony black \/ XL","offer_id":49336970805516,"sku":"CJYJ201802808HS","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Khaki \/ L","offer_id":49336970838284,"sku":"CJYJ201802811KP","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Khaki \/ M","offer_id":49336970871052,"sku":"CJYJ201802810JQ","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Khaki \/ S","offer_id":49336970903820,"sku":"CJYJ201802809IR","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Khaki \/ XL","offer_id":49336970936588,"sku":"CJYJ201802812LO","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ L","offer_id":49336970969356,"sku":"CJYJ201802819SH","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ M","offer_id":49336971002124,"sku":"CJYJ201802818RI","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ S","offer_id":49336971034892,"sku":"CJYJ201802817QJ","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ XL","offer_id":49336971067660,"sku":"CJYJ201802820TG","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Green leaves \/ L","offer_id":49336971100428,"sku":"CJYJ201802803CX","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Green leaves \/ M","offer_id":49336971133196,"sku":"CJYJ201802802BY","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Green leaves \/ S","offer_id":49336971165964,"sku":"CJYJ201802801AZ","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Green leaves \/ XL","offer_id":49336971198732,"sku":"CJYJ201802804DW","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ L","offer_id":49336971231500,"sku":"CJYJ201802815OL","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ M","offer_id":49336971264268,"sku":"CJYJ201802814NM","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ S","offer_id":49336971297036,"sku":"CJYJ201802813MN","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Sky blue \/ XL","offer_id":49336971329804,"sku":"CJYJ201802816PK","price":29.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/072d2f55-3131-490d-8e8e-6d0e53051df9.jpg?v=1750320345"},{"product_id":"stitching-color-sexy-backless-bikini-three-piece-suit","title":"Bikini Abstract Leaf Pattern Women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that stays put by the water – and stays that way all day long?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that calm feeling when a bikini is just there – without you having to think about it all the time.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eMany don't notice the difference when putting it on, but only later – when getting up from the towel or going into the water.\u003c\/p\u003e\n\n  \u003ch2\u003eBikini with abstract leaf pattern – backless cut for beach and pool\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nA backless cut with an abstract leaf pattern in turquoise, green, and purple – designed for days by the water when you want to move without constantly readjusting.\u003c\/p\u003e\n\n\u003cp\u003eThe abstract leaf pattern unfolds in three tones that work together without being obtrusive. Turquoise and green evoke water and reeds, while a subtle purple gives the pattern its own rhythm. Anyone sitting on the shore of Lake Constance and looking at the water knows this mix – colors that are present but don't scream for attention.\u003c\/p\u003e\n\n\u003cp\u003eThe cut is backless and features stitching details. The lines give the look visual structure without interrupting the pattern. The top is designed to be tied, allowing for individual fit adjustment. The top and briefs are visually coordinated – the set appears cohesive even when wearing a cover-up or taking it off.\u003c\/p\u003e\n\n\u003cp\u003eIn the afternoon at the lake, when you come out of the water and sit briefly on the towel: The pattern doesn't draw attention to itself, but it's there. Or on the terrace of a small holiday hotel, in the morning with your first coffee overlooking the water – a bikini that fits even beyond the edge of the pool. If you wear the set for photos by the water, you'll have a backdrop that harmonizes with almost any environment.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern stands out without being dominant – for wearers who like color but no loud prints.\u003cbr\u003e• The backless cut feels open without being unstable – particularly noticeable when moving in the water.\u003cbr\u003e• Top and briefs read as a single unit – the look remains calm even when combined with a light cover-up.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you want to choose a size: Our size calculator helps you estimate the cut and fit.\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\": \"S\", \"bust_min\": 85.0, \"bust_max\": 91.0, \"waist_min\": 63.0, \"waist_max\": 69.0, \"hip_min\": 65.0, \"hip_max\": 71.0}, {\"name\": \"M\", \"bust_min\": 89.0, \"bust_max\": 95.0, \"waist_min\": 67.0, \"waist_max\": 73.0, \"hip_min\": 69.0, \"hip_max\": 75.0}, {\"name\": \"L\", \"bust_min\": 94.0, \"bust_max\": 100.0, \"waist_min\": 72.0, \"waist_max\": 78.0, \"hip_min\": 74.0, \"hip_max\": 80.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: backless, tie-top\u003c\/li\u003e\n\n\u003cli\u003e✔ Pattern: abstract leaf pattern in turquoise, green, and purple\u003c\/li\u003e\n\n\u003cli\u003e✔ Set: top and briefs, visually coordinated\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, the women's bikini with abstract leaf pattern can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini set fits, but the pieces don't visually come together\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit and pattern can be both at the same time – calm and present.\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\u003eBackless cuts sometimes feel less stable\u003c\/li\u003e\n\n\u003cli\u003eThree-piece sets often look inconsistent if parts are not coordinated\u003c\/li\u003e\n\n\u003cli\u003eThin fabrics can be less opaque when wet or in bright light\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany know this: You put on a backless bikini, it fits well when standing – but when going into the water, sitting down on the towel, or standing up, the picture changes. The cut suddenly seems less secure, the top needs to be readjusted.\u003c\/p\u003e\n\n\u003cp\u003eWith backless models, the fit depends less on the fabric than on the cut, stretch content, and how the top is fastened. An elastane content in the material can help the fabric move with the body instead of against it. However, the actual fit also depends on how the top and straps are adapted to your figure.\u003c\/p\u003e\n\n\u003cp\u003eThis bikini is designed for days by the water when you want to move and not constantly readjust – beach, pool, lake, or even a quieter holiday on the terrace. If you are looking for a lot of support or strong bust support, a different cut might be more suitable. And if you prefer fully covering swimwear, you will be less happy with this model.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDo you like bikinis where the pattern remains calm – and the fit doesn't feel like a compromise?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eCheck out the available sizes and choose what suits your figure.\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→ Worn as a beach look on summer vacation – calm pattern that harmonizes with the surroundings\u003c\/li\u003e\n\n\u003cli\u003e→ Used for pool days and photos by the water – set also looks cohesive in pictures\u003c\/li\u003e\n\n\u003cli\u003e→ Combined with a light cover-up for relaxed days between water and terrace\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✅ Backless cut with individually tieable top – comfortable to move in during normal beach activities\u003c\/li\u003e\n\n\u003cli\u003e✅ Abstract leaf pattern in turquoise, green, and purple – calm and combinable\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and briefs visually coordinated – looks like a single unit even with a cover-up\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for wearers seeking strong support or a lot of hold in the top\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not designed for intensive water sports or very active swimming sessions\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer fully covering swimwear will be less happy with this cut\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Bikini with Abstract Leaf Pattern\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBackless bikinis slip during movement or feel unstable\u003c\/td\u003e\n\n\u003ctd\u003eTie-top can be adjusted for an individual fit – usually stays put during normal activity\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eThree-piece sets quickly look disjointed if parts don't match\u003c\/td\u003e\n\n\u003ctd\u003eTop and briefs are matched in pattern and color – the set reads as a cohesive outfit even with a cover-up\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePatterned bikinis often appear too loud or difficult to combine\u003c\/td\u003e\n\n\u003ctd\u003eThe abstract leaf pattern in subdued tones (turquoise, green, purple) is understated – combinable with light and neutral colors\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eStitching seams on stretch material stretch out after a short time\u003c\/td\u003e\n\n\u003ctd\u003eThe stitching details are designed for clean lines – how long they remain stable with regular wear also depends on care\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 with the women's bikini with abstract leaf pattern – so you have to readjust less while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the women's bikini with abstract leaf pattern 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 when moving.\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\u003eAt 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 – observe 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 fit well if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003ewomen's bikini with abstract leaf pattern\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 the women's bikini with abstract leaf pattern\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWhat occasions is a backless bikini with a leaf pattern 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 designed for the beach, pool, and lake – and also works as a vacation look on the terrace or by the water. The abstract leaf pattern in turquoise, green, and purple harmonizes with most surroundings and can be easily combined with a light cover-up.\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 the waistband and top fit during movement?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe top is designed to be tied and allows for individual fit adjustment. The fit during movement depends on the cut and stretch content – under normal beach activity, the model usually stays put. It is less designed for intensive water sports.\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 care for the bikini properly?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, then wash on a delicate cycle at 30°C. Do not tumble dry. This way, the fabric's shape will be preserved longer with normal care.\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\"\u003eIs this bikini also suitable for three-piece sets with a cover-up?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe top and briefs are visually coordinated and appear as a unit even when a cover-up is worn over them. For a classic three-piece set, a matching cover-up or a light beach towel can be added.\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 find the right size for a backless bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSince backless cuts fit differently for each individual, it is recommended to consult the size calculator if unsure. Enter your height and weight – this will give you an indication of which size generally fits your body type.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug\"\u003eInnovative Women's Swimsuits: Trends, Fit, and Style\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/innovative-badeanzuge-fur-damen-trends-passform-und-selbstbewusstsein\"\u003eInnovative Women's Swimsuits: Trends, Fit, and Confidence\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  \u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Abstract leaf pattern in turquoise, green, and purple – close-up shows pattern detail on the fabric\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Backless cut from behind – open backline, tie-strap visible\" 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 receipt\u003c\/p\u003e\n\n    \u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003e\n        We produce to order – this reduces overproduction and stock, 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 find yourself in the scenarios above, the women's bikini with abstract leaf pattern could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Bikini with Abstract Leaf Pattern\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€21.89\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 women's bikini with abstract leaf pattern 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\": \"Bikini abstraktes Blättermuster Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/three-piece-bikini-1618550718679.png?v=1776857788\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"21.89\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Blue \/ S","offer_id":54413460603148,"sku":"CJTZ108267901AZ","price":21.89,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ M","offer_id":54413460635916,"sku":"CJTZ108267902BY","price":21.89,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ L","offer_id":54413460668684,"sku":"CJTZ108267903CX","price":21.89,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ S","offer_id":54413460701452,"sku":"CJTZ108267904DW","price":21.89,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ M","offer_id":54413460734220,"sku":"CJTZ108267905EV","price":21.89,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ L","offer_id":54413460766988,"sku":"CJTZ108267906FU","price":21.89,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/three-piece-bikini-1618550718679.png?v=1776857788"},{"product_id":"european-and-american-sexy-bikini-women-split-swimwear","title":"Bikini blue palm leaf print","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that stays put at the beach – and doesn't feel like work?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that calm feeling when a bikini stays put all day without you constantly adjusting it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd that's precisely where many notice the difference – not when they first put it on, but after three hours at the water.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Blue Bikini with Palm Leaf Pattern – for the Beach, Lake, and Vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nTwo-piece bikini with elastane content – for comfortable wear at the water, blue palm leaf pattern on a white background, light and flexible on the body.\u003c\/p\u003e\n\n\u003cp\u003eThe pattern reflects something seen on quiet summer days: the play of light through leaves, a coloration that is neither loud nor pale. The blue of the palm motifs moves between sky and water – clear enough to stand out, subtle enough not to be obtrusive. A design that fits just as well on the shore of Lake Constance as on a Mediterranean beach.\u003c\/p\u003e\n\n\u003cp\u003eThe combination of a white background and a blue palm leaf print is easy to combine: with a white linen sarong, a striped beach dress, or just as it is. Those who prefer solid colors or very graphic patterns might find a different style here – this design has an organic, somewhat calmer visual language. You wear it when getting up from the sun lounger, when wading into shallow water, when having coffee at the small beach bar – and the pattern goes along with it, without pushing itself into the foreground.\u003c\/p\u003e\n\n\u003cp\u003ePerfect for when you transition directly from the water to the next activity on your vacation afternoon: a bikini that doesn't make these transitions obvious because it doesn't stand out.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The palm leaf pattern looks different in sunlight than in shade – never overwhelming, but always present.\u003cbr\u003e• You reach for your towel, not your bikini – because there's nothing to adjust.\u003cbr\u003e• The pattern can be combined in such a way that it looks like you've always had it.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eCheck the available sizes and choose what suits your figure.\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 (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✔ Material: Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Blue palm leaf pattern on a white background\u003c\/li\u003e\n\n\u003cli\u003e✔ Type: Two-piece bikini\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, the blue palm leaf pattern bikini can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini doesn't stay put at the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eMovement should feel effortless – not like constant adjustment.\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\u003eThe top doesn't stay put as soon as you move in the water\u003c\/li\u003e\n\n\u003cli\u003eThe waistband digs in after a few hours\u003c\/li\u003e\n\n\u003cli\u003eIt's hard to estimate the size online\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou go into the water, dive under – and shortly after, something isn't quite right anymore. The top has slipped, the waistband has shifted. What initially seems like a minor detail affects the entire day. This isn't a matter of demands, but of what you generally expect from swimwear: that it moves with you without constant correction.\u003c\/p\u003e\n\n\u003cp\u003eOften, it's not just the cut, but the combination of material and fit. Elastane content can help the fabric adapt to movement – when sitting on the jetty, walking on sand, or swimming briefly. Whether this works for a specific body type and activity can best be estimated with good sizing information.\u003c\/p\u003e\n\n\u003cp\u003eThis bikini is designed for beach days with moderate movement – swimming, walking, lying down, wading. Those planning intensive water activities or training for competitive swimming are generally better advised with specific sports swimwear. If, on the other hand, you are looking for a bikini that accompanies quiet lake days without constantly demanding attention, this cut might be suitable.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes the cut suit how you move 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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eChoose your size and see if the top and bottom are right for you.\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→ Stays put when walking on sand – no readjusting\u003c\/li\u003e\n\n\u003cli\u003e→ Palm leaf pattern looks fresh at the water, without dominating\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✅ Elastane content for a snug fit during movement\u003c\/li\u003e\n\n\u003cli\u003e✅ Calm palm leaf design that can be combined\u003c\/li\u003e\n\n\u003cli\u003e✅ Two-piece cut – top and bottom usually selectable separately\u003c\/li\u003e\n\n\u003cli\u003e✅ Designed for beach days with moderate activity\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for competitive swimming or intensive water sports\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer very graphic or solid patterns will find a different style here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No documented information on chlorine or saltwater resistance\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 for similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Blue Palm Leaf Pattern Bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips during movement in the water\u003c\/td\u003e\n\n\u003ctd\u003eElastane content is designed for an adaptable fit during moderate movement\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSize of bikinis is hard to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with height and weight available as a guide\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern seems too conspicuous in everyday life\u003c\/td\u003e\n\n\u003ctd\u003eOrganic palm leaf motif in blue – subtle enough for various beach outfits\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 considered exactly such situations with the blue palm leaf pattern bikini – so you have to adjust it less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the blue palm leaf pattern bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you'll notice: 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 during 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\u003eAt 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, 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: Elastane\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\u003eblue palm leaf pattern 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-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about the Blue Palm Leaf Pattern Bikini\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWhat activities is this blue palm leaf pattern bikini 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 designed for moderate beach activities: swimming, wading, lounging, walking. For intensive water sports or competitive swimming, specific sports swimwear is generally more suitable.\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 find the right size for this two-piece bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eUse our size calculator – by entering your height and weight, you can estimate the top and bottom separately. If you are unsure between two sizes, the larger option is generally recommended for more freedom of movement.\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 blue women's 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, lukewarm water. Wash on a delicate cycle at 30°C, do not tumble dry. This will preserve its 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\"\u003eDoes the bikini with the palm leaf print match certain beach outfits?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe blue palm leaf pattern on a white background can be easily combined with solid-colored beach towels, linen shorts, or simple dresses. Those who prefer very graphic or solid-colored looks will find a more organic visual language here.\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\"\u003eIs the bikini opaque when wet?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSince there are no specific details regarding opacity when wet, we cannot make a concrete promise about this. As a guideline: elastane fabrics cling more tightly to the body when wet – which is common for two-piece bikinis of this type.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus Size Swimsuits\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/bugel-bikini\"\u003eUnderwire Bikinis\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=\"Blue palm leaf pattern on a white background in the sunlight by the lake\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Bikini wading into shallow water – fabric clings\" 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 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 checked according to 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 scenarios above, the blue palm leaf pattern 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\"\u003eBlue Palm Leaf Pattern Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€18.95\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 blue palm leaf pattern 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\": \"Bikini blaues Palmenblätter Muster\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/european-and-american-sexy-bikini-1620374146235.png?v=1776857095\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"18.95\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Blue \/ S","offer_id":54413461094668,"sku":"CJTZ111684601AZ","price":18.95,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ M","offer_id":54413461127436,"sku":"CJTZ111684602BY","price":18.95,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ L","offer_id":54413461160204,"sku":"CJTZ111684603CX","price":18.95,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ XL","offer_id":54413461192972,"sku":"CJTZ111684604DW","price":18.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/european-and-american-sexy-bikini-1620374146235.png?v=1776857095"},{"product_id":"split-bikini-swimsuit-solid-color-new-women","title":"pink bikini women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a pink bikini stay put all day – without needing adjustment?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that relaxed feeling when a bikini simply fits – and you forget you're wearing it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eMany only notice the difference as the day goes on: not when they put it on, but after the second jump into the water.\u003c\/p\u003e\n\n  \u003ch2\u003ePink Bikini for Women – Solid Two-Piece Set for Beach and Pool\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nTwo-piece design in solid pink – clean lines without patterns, polyamide material, calm color effect by the water.\u003c\/p\u003e\n\n\u003cp\u003eSome colors simply look different by the lake than they do on a screen. A muted, solid pink appears soft and calm in summer light – not gaudy, not faded. Anyone sitting on the shore of Lake Constance and looking at the water will notice: this color doesn't impose itself. It simply is.\u003c\/p\u003e\n\n\u003cp\u003eThe plain design without patterns makes this pink bikini for women versatile: a light linen sarong, a simple white beach bag, sandy espadrilles – everything matches without you having to think about it. No print that goes out of fashion after two seasons. No motif that dictates where the eye goes. The focus is on the moment, not the fabric.\u003c\/p\u003e\n\n\u003cp\u003eFor an afternoon by the pool, where you simply glide into the water and come back out. For a beach day on holiday, where luggage should be light and decisions few. Or for anyone who prefers swimwear that doesn't push itself into the foreground – and yet still says something.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The pink appears softer in sunlight than expected – pleasant on the skin, calm to the eye.\u003cbr\u003e• No distracting pattern: you wear the bikini, not the other way around.\u003cbr\u003e• Two-piece means flexibility – top and bottom can be combined separately, if needed.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you're interested, check out the size chart – tops and bottoms can be selected separately.\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 (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\": []}];\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✔ Material: Polyamide\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: two-piece, top and bottom can be selected separately\u003c\/li\u003e\n\n\u003cli\u003e✔ Color: solid pink, no pattern\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 pink bikini for women can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini gets restless in the water\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eWhat can be different with a solid two-piece – and when it fits.\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 slips after jumping into the water\u003c\/li\u003e\n\n\u003cli\u003eWaistband digs in after a few hours\u003c\/li\u003e\n\n\u003cli\u003eColor appears duller than expected after the season\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou might know the feeling: You go into the water, briefly submerge – and afterwards, something isn't sitting quite right. The top has shifted, the waistband is digging in somewhere it wasn't a problem before. Not dramatic, but present. And you know you'll be thinking about it all day.\u003c\/p\u003e\n\n\u003cp\u003eThis happens more often with bikinis where the cut and material aren't designed for movement in water – or where the top and bottom come in a one-size-fits-all that only approximately suits your figure. Polyamide as a material can help the fabric stay close to the body under normal use – but the cut ultimately plays a role.\u003c\/p\u003e\n\n\u003cp\u003eThis solid pink bikini for women is designed as a two-piece set – top and bottom can be chosen in separate sizes. This can help ensure a better fit for different body proportions. However, if you are looking for a bikini with strong shaping, underwire, or a lot of support, these features are not explicitly covered here – in that case, it's worth filtering specifically for them.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes a simple, solid two-piece suit what you wear by the water – or do you prefer something with more structure?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate the cut \u0026amp; size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eCheck the size chart if you wish – top and bottom can be selected 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→ Stays put calmly after a long beach day\u003c\/li\u003e\n\n\u003cli\u003e→ Top generally stays in place during normal movement in the water\u003c\/li\u003e\n\n\u003cli\u003e→ Solid pink appears softer in sunlight than on screen\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 helps you decide\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Solid design without patterns – timelessly versatile\u003c\/li\u003e\n\n\u003cli\u003e✅ Two-piece cut – top and bottom can be selected separately\u003c\/li\u003e\n\n\u003cli\u003e✅ Polyamide material – comfortable on the body under normal use\u003c\/li\u003e\n\n\u003cli\u003e✅ Clear, calm color effect – subtle without being conspicuous\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not ideal if you need a lot of shaping, underwire, or strong support\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Less suitable for intensive water sports activities or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not recommended if you prefer patterned or graphically striking swimwear\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\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ pink bikini for women\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips after movement in water\u003c\/td\u003e\n\n\u003ctd\u003eTwo-piece cut can help ensure top and bottom are chosen in suitable sizes\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOne-size rarely fits different proportions\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom can be selected separately – for a more individual fit\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eColors appear duller after the season\u003c\/td\u003e\n\n\u003ctd\u003eSolid polyamide design – observe care instructions for longer color intensity\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eDifficult to estimate bikini size online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator available as a guide – with height and weight\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 exactly these situations with the pink bikini for women – 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 the pink bikini for women 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 to dry, done. Delicate wash at 30°C, do not tumble dry – observe 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: Polyamide\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\u003epink bikini for women\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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about pink bikini for women\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eIs there a simple pink bikini for women without a pattern from Bodenseemarke?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes – this model is solid pink without a print or pattern. The design is deliberately minimalist and can be easily combined with various beach accessories.\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 choose different sizes for the top and bottom of this bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe model is designed as a two-piece. Whether the top and bottom can actually be ordered in different sizes is best checked in the size selection on the product page – there you will see which options are available.\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 a polyamide bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear, cool water after wearing. Wash on a delicate cycle at 30°C. Do not tumble dry – air drying significantly preserves the material and shape better.\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\"\u003eIs this pink bikini also suitable for 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 model is designed for beach and leisure use. It is generally less suitable for intensive water sports activities or competitive swimming, as specific sports functions are not included.\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 find the right size for a bikini online?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe most reliable way is to base it on your body measurements – bust, waist, and hip circumference – and compare them with the model's size chart. Our size calculator can help as a guide.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Solid pink in summer light by the water – no distraction from patterns\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Two-piece by Lake Constance – simple, versatile, calm\" 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 receipt\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 stock, 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 scenarios above, the pink bikini for women could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003epink bikini for women\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€21.95\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 the pink bikini for women 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\": \"pink bikini damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/split-bikini-1623729304116-neuer-versuch.png?v=1776856435\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"21.95\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Red wine \/ S","offer_id":54413462536460,"sku":"CJBJ113317701AZ","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Red wine \/ M","offer_id":54413462569228,"sku":"CJBJ113317702BY","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Red wine \/ L","offer_id":54413462601996,"sku":"CJBJ113317703CX","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Red wine \/ XL","offer_id":54413462634764,"sku":"CJBJ113317704DW","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ S","offer_id":54413462667532,"sku":"CJBJ113317705EV","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ M","offer_id":54413462700300,"sku":"CJBJ113317706FU","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ L","offer_id":54413462733068,"sku":"CJBJ113317707GT","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ XL","offer_id":54413462765836,"sku":"CJBJ113317708HS","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Yellow \/ S","offer_id":54413462798604,"sku":"CJBJ113317709IR","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Yellow \/ M","offer_id":54413462831372,"sku":"CJBJ113317710JQ","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Yellow \/ L","offer_id":54413462864140,"sku":"CJBJ113317711KP","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Yellow \/ XL","offer_id":54413462896908,"sku":"CJBJ113317712LO","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Red \/ S","offer_id":54413462929676,"sku":"CJBJ113317713MN","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Red \/ M","offer_id":54413462962444,"sku":"CJBJ113317714NM","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Red \/ L","offer_id":54413462995212,"sku":"CJBJ113317715OL","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Red \/ XL","offer_id":54413463027980,"sku":"CJBJ113317716PK","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ S","offer_id":54413463060748,"sku":"CJBJ113317717QJ","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ M","offer_id":54413463093516,"sku":"CJBJ113317718RI","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ L","offer_id":54413463126284,"sku":"CJBJ113317719SH","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Blue \/ XL","offer_id":54413463159052,"sku":"CJBJ113317720TG","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent Yellow \/ L","offer_id":54413463191820,"sku":"CJBJ113317721UF","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent Yellow \/ M","offer_id":54413463224588,"sku":"CJBJ113317722VE","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent Yellow \/ S","offer_id":54413463257356,"sku":"CJBJ113317723WD","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent Yellow \/ XL","offer_id":54413463290124,"sku":"CJBJ113317724XC","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent green \/ L","offer_id":54413463322892,"sku":"CJBJ113317725YB","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent green \/ M","offer_id":54413463355660,"sku":"CJBJ113317726ZA","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent green \/ S","offer_id":54413463388428,"sku":"CJBJ113317727AZ","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent green \/ XL","offer_id":54413463421196,"sku":"CJBJ113317728BY","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent rose red \/ L","offer_id":54413463453964,"sku":"CJBJ113317729CX","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent rose red \/ M","offer_id":54413463486732,"sku":"CJBJ113317730DW","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent rose red \/ S","offer_id":54413463519500,"sku":"CJBJ113317731EV","price":21.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent rose red \/ XL","offer_id":54413463552268,"sku":"CJBJ113317732FU","price":21.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/split-bikini-1623729304116-neuer-versuch.png?v=1776856435"},{"product_id":"womens-fashion-personality-solid-color-bikini","title":"black plain swimsuit for women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a black swimsuit that stays put all day – without constant readjustment?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that relaxed feeling when a swimsuit just works – whether you're lounging by the shore or heading into the water.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eMany don't notice the difference when they first put it on, but only after a few hours at the lake.\u003c\/p\u003e\n\n  \u003ch2\u003eBlack Swimsuit for Women – simple, solid, for lake and beach\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nA solid deep black cut – clear in line, calm in effect, for effortless days by the water.\u003c\/p\u003e\n\n\u003cp\u003eBlack is not a choice of last resort. On the shores of Lake Constance, where the light softly falls over the water, a simple black women's swimsuit has a very direct effect: it needs nothing added. No pattern, no print – just the silhouette that speaks for itself. This black swimsuit embraces precisely this attitude.\u003c\/p\u003e\n\n\u003cp\u003eSolid black can be combined with almost anything – a striped beach towel, light linen trousers, a bright kimono. The transition from the water to the sunbathing lawn or a beach bistro happens without changing, without thinking. Those who like calm, timeless looks will probably reach for this cut more often than expected.\u003c\/p\u003e\n\n\u003cp\u003eOn a long day at the beach – whether by the pool edge, on the Lake Constance jetty, or on a holiday beach – the design's purpose becomes clear: put it on, go in the water, come out again, without anything getting out of balance. For some, this is precisely the kind of swimsuit one simply ought to know.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• You reach for it without thinking in the morning – because black goes with everything.\u003cbr\u003e• The cut looks as calm at the pool edge as it does on the way to your towel.\u003cbr\u003e• No motif that looks outdated after one season – the design endures.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you are looking for a solid black swimsuit for women without obtrusive details, this cut might be suitable – take your time to check the size and fit.\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 (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\": \"S\", \"bust_min\": 76.0, \"bust_max\": 88.0, \"waist_min\": 68.0, \"waist_max\": 74.0, \"hip_min\": 78.0, \"hip_max\": 94.0}, {\"name\": \"M\", \"bust_min\": 80.0, \"bust_max\": 92.0, \"waist_min\": 74.0, \"waist_max\": 78.0, \"hip_min\": 82.0, \"hip_max\": 98.0}, {\"name\": \"L\", \"bust_min\": 84.0, \"bust_max\": 96.0, \"waist_min\": 78.0, \"waist_max\": 82.0, \"hip_min\": 86.0, \"hip_max\": 102.0}, {\"name\": \"XL\", \"bust_min\": 88.0, \"bust_max\": 100.0, \"waist_min\": 82.0, \"waist_max\": 86.0, \"hip_min\": 90.0, \"hip_max\": 106.0}, {\"name\": \"2XL\", \"bust_min\": 92.0, \"bust_max\": 104.0, \"waist_min\": 86.0, \"waist_max\": 90.0, \"hip_min\": 94.0, \"hip_max\": 110.0}, {\"name\": \"3XL\", \"bust_min\": 96.0, \"bust_max\": 108.0, \"waist_min\": 90.0, \"waist_max\": 94.0, \"hip_min\": 94.0, \"hip_max\": 114.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✔ Design: solid black, no pattern\u003c\/li\u003e\n\n\u003cli\u003e✔ Fit: designed for a calm fit during normal movement\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: rinse with clear water after wearing, delicate wash 30 °C, do not tumble dry\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 solid swimsuit for women can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a swimsuit is restless all day\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eSimple, solid, for long days by the water.\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\u003eThe swimsuit slips when swimming or sitting down\u003c\/li\u003e\n\n\u003cli\u003eAfter a few hours, the waistband feels uncomfortable\u003c\/li\u003e\n\n\u003cli\u003eWhen wet, the fabric feels heavy and sticky\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 somewhere on the way back to your towel, you realize you have to adjust it. At the waist, at the neckline, somewhere. This isn't a dramatic problem, but it costs attention that you'd rather put elsewhere.\u003c\/p\u003e\n\n\u003cp\u003eWith many swimsuits, this isn't due to poor design, but to a cut that was intended for lounging, not for movement. The difference only shows when you actually move – stand up, turn, dive.\u003c\/p\u003e\n\n\u003cp\u003eThis black women's swimsuit is designed for a calmer fit during normal movement – not for intense sports sessions or competitive swimming, but for an active day at the beach. If you prefer a sporty performance fit or a very tight compression feel, another model might be more suitable. For anyone who simply wants to spend a long day at the water without much readjustment, this cut can be an option.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eHow much freedom of movement do you need – rather calm swimming sessions or active swimming?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTake your time to look through the available sizes – without pressure.\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→ Stays put calmly after a long day at the beach – without frequent readjustment\u003c\/li\u003e\n\n\u003cli\u003e→ Solid black that goes with everything – from towel to beach cafe\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Solid black – timelessly combinable with beach outfits\u003c\/li\u003e\n\n\u003cli\u003e✅ Simple cut, designed for a calm fit at a normal activity level\u003c\/li\u003e\n\n\u003cli\u003e✅ No patterns or prints – the look remains season-independent\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intensive competitive swimming or competitions\u003c\/li\u003e\n\n\u003cli\u003e⚠️ If you like colourful patterns or striking prints, this is not the right choice for you\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\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 for similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ black solid swimsuit for women\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\u003eCut designed for a calmer fit during normal movement\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eWaistband digs in after a few hours\u003c\/td\u003e\n\n\u003ctd\u003eOne-piece cut without a separate waistband – can reduce pressure\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eColour fades after one season\u003c\/td\u003e\n\n\u003ctd\u003eCareful maintenance (rinsing, delicate wash) can preserve colour intensity longer\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline sizes are hard to estimate\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator available with height and weight for guidance\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 such situations with the black solid swimsuit for women – so you have to readjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the black solid women's swimsuit feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you'll notice: 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 when moving.\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\u003eAt the beach\u003c\/h4\u003e\n\n      \u003cp\u003eSalt water, sun, sand: The fabric retains its shape. No discolouration, 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 fit well if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eblack solid swimsuit for women\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 solid swimsuits for women\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWho is a simple black women's swimsuit without a pattern suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThis swimsuit is designed for days at the lake, pool, or beach – with normal movement like swimming, lounging, and walking. For intensive competitive swimming or sporty water activities, there are more suitable 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 find the right size for a black solid swimsuit for women?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator helps you estimate the right size based on your height and weight. If you are unsure between two sizes, the larger option is generally recommended for more freedom of movement.\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 care for a black swimsuit correctly?\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 – air drying preserves the shape 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 a black solid swimsuit for women be easily combined with beach outfits?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eBlack as a solid base colour can be combined with most beach accessories and cover-ups – light linen trousers, striped towels, or light kimonos go well with it. The simple design without patterns makes the transition from the water to the beach table more uncomplicated.\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\"\u003eDoes the black colour last for several swim seasons?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eAs with all swimsuits, regular contact with chlorine or salt water affects colour intensity over time. Rinsing briefly with clear water after each wear and gentle washing at 30 °C can help preserve the colour longer.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eWomen's Swimsuit\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-der-zeitlose-klassiker-fur-jeden-anlass\"\u003eBlack Swimsuit: The timeless classic for every occasion\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/schwarzer-badeanzug-damen\"\u003eBlack Swimsuit Women\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=\"Black swimsuit on the shores of Lake Constance – clear silhouette in the soft afternoon light\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Transition from water to sunbathing lawn – no changing, no thinking\" 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 stock, especially for printed items!\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 according to 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 scenarios above, a black solid swimsuit for women 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 solid swimsuit for women\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€29.95\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 this black solid swimsuit for women 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: 16.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 einfarbiger Badeanzug Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/womens-fashion-personality-solid-color-e5f3524e.png?v=1776854617\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"29.95\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Black \/ S","offer_id":54413463716108,"sku":"CJBJ142686204DW","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Black \/ M","offer_id":54413463748876,"sku":"CJBJ142686205EV","price":29.95,"currency_code":"EUR","in_stock":true},{"title":"Black \/ L","offer_id":54413463781644,"sku":"CJBJ142686206FU","price":29.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/womens-fashion-personality-solid-color-e5f3524e.png?v=1776854617"},{"product_id":"new-style-sexy-bikini-female-swimsuit-with-rope","title":"Bikini Mandala Pattern Women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a patterned bikini stay put at the beach – all day long?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know the feeling when a bikini fits so well that it barely needs any attention – and you can simply focus on the moment.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eOver the course of a long day at the beach, you really notice what a difference a well-fitting cut can make.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Mandala Pattern Bikini – Colorful Print for Beach, Lake, and Vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nA two-piece bikini set with a colorful mandala pattern – body-hugging cut, with a lacing detail as an accent, made of polyester that feels light and smooth.\u003c\/p\u003e\n\n\u003cp\u003eThe mandala pattern moves between two worlds: close enough to classic patterns to feel familiar, and vibrant enough to stand out by the water. The geometric shapes interlock, and the play of colors appears different up close and from afar – depending on the light, depending on the angle. Such patterns are not accidental; behind every mandala motif is a symmetry that calms the eye, even when the colors are bold.\u003c\/p\u003e\n\n\u003cp\u003eOn the shore of Lake Constance, when the sun falls flat on the water, the colors of the pattern stand out against the light sand – without being too loud. By the hotel pool, when getting up from the sun lounger, the design briefly catches the eye before you go into the water. Those who appreciate calm patterns with a certain depth will find a bikini here that fits snugly and yet isn't intrusive. The lacing detail complements the mandala motif as a deliberate formal accent – not dominant, but visible.\u003c\/p\u003e\n\n\u003cp\u003eAs a vacation companion by the lake, for relaxing pool days, or as a choice for a beach day where you want to feel comfortable in your bikini without overthinking it. The pattern makes it easy to wear the bikini on its own – a wrap sarong or a light cover-up can complement it if desired.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The mandala pattern stands out upon first wear, without being overwhelming – a calmness in the color.\u003cbr\u003e• By the water, when sunlight falls on the fabric, the pattern appears more three-dimensional than in the photo.\u003cbr\u003e• The form-fitting cut gives the entire set a clear silhouette – for moments when you simply want to be present.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, choose your size now – our chart will help you estimate.\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 (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\": \"S\", \"bust_min\": 64.2, \"bust_max\": 80.4, \"waist_min\": 47.4, \"waist_max\": 63.6, \"hip_min\": 68.4, \"hip_max\": 84.6}, {\"name\": \"M\", \"bust_min\": 68.4, \"bust_max\": 84.6, \"waist_min\": 51.6, \"waist_max\": 67.8, \"hip_min\": 72.6, \"hip_max\": 88.8}, {\"name\": \"L\", \"bust_min\": 72.6, \"bust_max\": 88.8, \"waist_min\": 55.8, \"waist_max\": 72.0, \"hip_min\": 76.8, \"hip_max\": 93.0}, {\"name\": \"XL\", \"bust_min\": 76.8, \"bust_max\": 93.0, \"waist_min\": 60.0, \"waist_max\": 76.2, \"hip_min\": 81.0, \"hip_max\": 97.2}, {\"name\": \"2XL\", \"bust_min\": 81.0, \"bust_max\": 97.2, \"waist_min\": 64.2, \"waist_max\": 80.4, \"hip_min\": 85.2, \"hip_max\": 101.4}, {\"name\": \"3XL\", \"bust_min\": 85.2, \"bust_max\": 101.4, \"waist_min\": 68.4, \"waist_max\": 84.6, \"hip_min\": 89.4, \"hip_max\": 105.6}, {\"name\": \"4XL\", \"bust_min\": 89.4, \"bust_max\": 105.6, \"waist_min\": 72.6, \"waist_max\": 88.8, \"hip_min\": 93.6, \"hip_max\": 109.8}, {\"name\": \"5XL\", \"bust_min\": 93.6, \"bust_max\": 109.8, \"waist_min\": 76.8, \"waist_max\": 93.0, \"hip_min\": 97.8, \"hip_max\": 114.0}, {\"name\": \"6XL\", \"bust_min\": 97.8, \"bust_max\": 114.0, \"waist_min\": 81.0, \"waist_max\": 97.2, \"hip_min\": 102.0, \"hip_max\": 118.2}]}];\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✔ Material: Polyester fiber (polyester)\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: body-hugging, two-piece, with lacing detail on the top\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Rinse briefly with clear water after wearing, delicate wash 30 °C, do not tumble dry\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, the Women's Mandala Pattern Bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini doesn't stay put and needs readjusting at the end of the day\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit and pattern can go hand in hand – if the cut and design are coordinated.\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\u003eBikini slips when entering the water\u003c\/li\u003e\n\n\u003cli\u003eBottom waistband feels tight after a while\u003c\/li\u003e\n\n\u003cli\u003ePattern looks different in photos than in reality\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eSome bikinis look just right in the photo – and then make themselves known at the beach: the top needs adjusting when surfacing, the bottom fits differently after an hour than when first put on. This is not an uncommon problem, but a frequent feedback for bikinis primarily designed for looks.\u003c\/p\u003e\n\n\u003cp\u003eA body-hugging bikini with a lacing detail like this one is designed for a secure fit during normal movement – walking on the beach, entering the water, lying on a sun lounger. The lacing on the top can help adjust the support individually. However, this model is not the first choice for intense water sports or strong currents – there are sportier cuts with more support for that.\u003c\/p\u003e\n\n\u003cp\u003eIf you are looking for a bikini that fits subtly close to the body, features a lively pattern, and is intended for relaxed beach days, this model may be suitable. If, on the other hand, you prefer maximum coverage or a very understated, solid-colored look, another model might be closer to what you are looking for.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eHow much support and how much pattern do you actually want on a beach day?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you assess the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTake your time to look at the size chart and compare your measurements – without any pressure.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Still fits similarly after a long beach day as when first put on\u003c\/li\u003e\n\n\u003cli\u003e→ Pattern is perceived as more vibrant in direct sunlight than expected\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✅ Colorful mandala pattern with geometric structure – visible, but not overwhelming\u003c\/li\u003e\n\n\u003cli\u003e✅ Lacing detail on the top for individually adjustable support during normal activity\u003c\/li\u003e\n\n\u003cli\u003e✅ Body-hugging cut – for moments by the beach, lake, and pool\u003c\/li\u003e\n\n\u003cli\u003e✅ Lightweight polyester material – smooth and comfortable on the skin\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intense water sports or strong currents\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not ideal for those preferring very modest or solid-colored, minimalist swimwear\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No shaping or supportive effect – if you're looking for maximum support, compare other cuts\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\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 for similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Mandala Pattern Bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips after swimming\u003c\/td\u003e\n\n\u003ctd\u003eLacing detail allows for individually adjustable support during normal movement\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSize difficult to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with body measurements – chart for comparison before purchase\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks different in photos than in reality\u003c\/td\u003e\n\n\u003ctd\u003eGeometric mandala pattern with clear structure – more vibrant in sunlight than in the studio\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 exactly these situations with the Women's Mandala Pattern Bikini – so you have to adjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the Women's Mandala Pattern Bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you notice: 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\u003eSalt water, 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 to dry, done. Delicate wash at 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: polyester fiber (polyester)\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\u003eWomen's Mandala Pattern 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 intrusive\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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently asked questions about the Women's Mandala Pattern Bikini\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 the colorful women's mandala bikini with lacing?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eTake your body measurements (bust, waist, hips) as a basis and compare them with the size chart. If unsure between two sizes, it can help to choose the larger variant – body-hugging bikinis generally fit more comfortably with a little more room.\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 top fit when moving in the water?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe top is equipped with lacing that allows for individually adjustable support. For normal movement in the water – swimming, entering the water – the lacing can ensure a more secure fit. For intense water sports, a sporty cut with a firmer strap structure is generally more suitable.\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 care for a mandala print bikini correctly?\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, cool water. Then wash on a delicate cycle at 30 °C, do not tumble dry. Washing inside out helps the pattern stay vibrant 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\"\u003eIs the mandala bikini also suitable for Lake Constance?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe model is designed for relaxed bathing days at the lake, by the pool, and on vacation. The cut is well suited for calm swimming and stays on the shore of Lake Constance. For sporting activities like surfing or snorkeling, there are better-suited alternatives.\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 mandala pattern look in reality – similar to the photo?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe mandala pattern with geometric shapes appears different depending on the light. In direct sunlight, the colors may appear more vibrant than in the product photo. The symmetrical structure of the pattern remains recognizable in all light conditions.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus Size Swimsuits\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/bugel-bikini\"\u003eUnderwired 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=\"Colorful mandala pattern in sunlight by the water – colors stand out against the light sand\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Lacing detail on the top as a visible design accent when getting up from the sun lounger\" 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 to order – 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 scenarios above, the Women's Mandala Pattern Bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Mandala Pattern Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€22.95\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 Women's Mandala Pattern 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: 2026-05-20\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\": \"Bikini Mandala Muster Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/new-style-sexy-bikini-with-rope-fe122d2c.png?v=1776854234\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"22.95\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"A \/ S","offer_id":54413465256204,"sku":"CJLJ113065001AZ","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"A \/ M","offer_id":54413465288972,"sku":"CJLJ113065002BY","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"A \/ L","offer_id":54413465321740,"sku":"CJLJ113065003CX","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"A \/ XL","offer_id":54413465354508,"sku":"CJLJ113065004DW","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"B \/ S","offer_id":54413465387276,"sku":"CJLJ113065005EV","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"B \/ M","offer_id":54413465420044,"sku":"CJLJ113065006FU","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"B \/ L","offer_id":54413465452812,"sku":"CJLJ113065007GT","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"B \/ XL","offer_id":54413465485580,"sku":"CJLJ113065008HS","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"C \/ S","offer_id":54413465518348,"sku":"CJLJ113065009IR","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"C \/ M","offer_id":54413465551116,"sku":"CJLJ113065010JQ","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"C \/ L","offer_id":54413465583884,"sku":"CJLJ113065011KP","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"C \/ XL","offer_id":54413465616652,"sku":"CJLJ113065012LO","price":22.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/new-style-sexy-bikini-with-rope-fe122d2c.png?v=1776854234"},{"product_id":"womens-three-piece-set-mesh-outerwear-printing-color-contrast-bikini","title":"Swimsuit with floral motifs","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini set that wears cohesively at the beach – and stays calm?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know this feeling when the top, bottoms, and cover-up just match – without having to think too much about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eWith three-piece sets, you often only notice the difference once you're out – when the look as a whole works, or it simply doesn't.\u003c\/p\u003e\n\n  \u003ch2\u003eSwimsuit with floral motifs and mesh cover-up – 3-piece bikini set for beach and pool\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this set is made for:\u003c\/strong\u003e\u003cbr\u003e\nA three-piece bikini set with a mesh cover-up – pink floral motifs on a black background, subtle color contrast, polyamide-elastane fabric that adapts.\u003c\/p\u003e\n\n\u003cp\u003eThe swimsuit with floral motifs works with a clear contrast: a dark background, light flowers, a pattern that looks as calm by the lake as it does by the hotel pool. The floral motif is large enough to be visible but not so dominant that it overtakes the overall look. The mesh cover-up picks up the black again – creating a coordinated look where the three pieces are designed to go together.\u003c\/p\u003e\n\n\u003cp\u003eThose who stroll along the beach and casually drape the cover-up over their shoulders will notice: The set holds together visually without needing extra coordination. Laid by the poolside, it looks like a deliberately chosen outfit – not like mismatched individual pieces. The color contrast between the flowers and the background is easily discernible in photos, which is often crucial for print designs on mobile phone displays.\u003c\/p\u003e\n\n\u003cp\u003eThree specific situations where this set finds its place: strolling along the beach with the mesh piece lightly draped, at the beach bar when you're not directly in the water, and on vacation as a resort look that works between the pool and the promenade.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• Pink flowers on black – a contrast that looks clearer in real photos than blurred prints\u003cbr\u003e• Three coordinated pieces that can be worn together without looking like they were individually assembled\u003cbr\u003e• The mesh cover-up provides a bit more coverage without hiding the bikini underneath\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, choose your size below – or read on to assess whether the cut and style suit you.\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 (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\": \"S\", \"bust_min\": 86.0, \"bust_max\": 89.0, \"waist_min\": 66.0, \"waist_max\": 68.5, \"hip_min\": 93.0, \"hip_max\": 95.0}, {\"name\": \"M\", \"bust_min\": 92.5, \"bust_max\": 96.5, \"waist_min\": 71.0, \"waist_max\": 73.5, \"hip_min\": 98.0, \"hip_max\": 100.0}, {\"name\": \"L\", \"bust_min\": 98.0, \"bust_max\": 101.5, \"waist_min\": 77.5, \"waist_max\": 81.0, \"hip_min\": 104.0, \"hip_max\": 108.0}, {\"name\": \"XL\", \"bust_min\": 102.5, \"bust_max\": 108.5, \"waist_min\": 82.0, \"waist_max\": 88.0, \"hip_min\": 108.7, \"hip_max\": 114.7}, {\"name\": \"XXL\", \"bust_min\": 106.0, \"bust_max\": 112.0, \"waist_min\": 86.0, \"waist_max\": 92.0, \"hip_min\": 112.5, \"hip_max\": 118.5}]}];\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✔ Set Type: 3-piece (Bikini Top, Bottoms, Mesh Cover-up)\u003c\/li\u003e\n\n\u003cli\u003e✔ Material: 78% Polyamide, 22% Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Gentle wash 30 °C, do not tumble dry\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, the swimsuit with floral motifs can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen bikini sets look different online than at the beach\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eThree pieces, one coordinated look – for beach, pool, and vacation.\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 and bottoms fit on their own, but look restless together\u003c\/li\u003e\n\n\u003cli\u003eWith three-piece sets, it's hard to assess if the cover-up and bikini harmonize\u003c\/li\u003e\n\n\u003cli\u003ePrints look different on screen than in real sunlight\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany people know this feeling: you order a set because the individual pieces look convincing – and then on the first day of your vacation, you realize that the colors, print, and cut together aren't quite what you had imagined. Especially with color-contrast prints, the effect can differ noticeably between the product image and real light.\u003c\/p\u003e\n\n\u003cp\u003eThis is often not due to the set itself, but to how high-contrast prints are rendered on screens. A clear contrast – like black with pink tones – is usually easier to assess than patterns with many similar colors. Additionally, with three-piece sets, the question may arise whether the cover-up and bikini work as a complete look or if they would be worn separately.\u003c\/p\u003e\n\n\u003cp\u003eThis set is designed as a coordinated three-piece look – bikini top, bottoms, and mesh cover-up are matched. The cover-up can provide additional coverage when you're not directly in the water, without completely hiding the bikini. This can be comfortable for some wearers – especially when transitioning between the beach, beach bar, and a walk. If you prefer a very minimalist two-piece without a cover-up, this set might not be your style.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes a three-piece look with a floral print and mesh cover-up suit how you move at the beach?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTake a look at the detailed images and then decide if the cut and style suit you.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany people particularly value\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ worn during a beach walk with the mesh piece loosely draped\u003c\/li\u003e\n\n\u003cli\u003e→ used as a vacation look between the pool and the promenade\u003c\/li\u003e\n\n\u003cli\u003e→ clearly discernible in outfit or travel photos with clear color contrast\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Three-piece coordinated look – bikini and mesh cover-up matched\u003c\/li\u003e\n\n\u003cli\u003e✅ Clear color contrast (black\/pink) – easy to assess before purchase\u003c\/li\u003e\n\n\u003cli\u003e✅ Elastane content can provide freedom of movement and stretch\u003c\/li\u003e\n\n\u003cli\u003e✅ Mesh cover-up provides more coverage when needed, without hiding the bikini\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ If you expect strong shaping or supportive function – this set is not designed for that\u003c\/li\u003e\n\n\u003cli\u003e⚠️ If you prefer a very minimalist two-piece without a cover-up\u003c\/li\u003e\n\n\u003cli\u003e⚠️ This type of beachwear is less suitable for intense water sports or frequent timed swimming\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 of similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Swimsuit with floral motifs\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eIndividual pieces often appear uncoordinated if colors or cuts are not matched.\u003c\/td\u003e\n\n\u003ctd\u003eThe set is designed as a three-piece look – top, bottoms, and mesh cover-up are meant to be together.\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eLight bikinis offer little leeway in coverage between the pool and beach bar.\u003c\/td\u003e\n\n\u003ctd\u003eThe mesh cover-up can provide additional coverage when needed, without completely hiding the bikini underneath.\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eMaterials without elastane often adapt less and feel stiffer.\u003c\/td\u003e\n\n\u003ctd\u003eThe elastane content (22%) can provide more stretch and freedom of movement.\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eHigh-contrast prints can look different online than in reality.\u003c\/td\u003e\n\n\u003ctd\u003eA clearly defined black-pink contrast is easier to assess before purchase than patterns with similar color tones.\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 with the swimsuit with floral motifs – so you have to adjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the swimsuit with floral motifs feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you notice: 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 when moving.\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\u003eAt the beach\u003c\/h4\u003e\n\n      \u003cp\u003eSalt water, 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. Gentle 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: Gentle 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 fit well if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eswimsuit with floral motifs\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 Gentle 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 the swimsuit with floral motifs\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWhat does the 3-piece bikini set with cover-up include?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe set consists of a bikini top, bikini bottoms, and a light mesh cover-up. All three pieces are coordinated and can be worn together or separately.\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 a bikini set with mesh outerwear and floral print?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, then machine wash on a gentle cycle at 30 °C. Do not tumble dry – this preserves the material and the mesh cover-up 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\"\u003eHow do I find the right size for the swimsuit with floral motifs?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator helps you estimate the cut and size – enter your height and weight. If unsure between two sizes, the larger option is often recommended for this cut.\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\"\u003eIs this bikini set also suitable for the pool?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe set is designed for beach, pool, and vacation situations. You would typically wear the mesh cover-up out of the water – when walking, at the beach bar, or on the way to the water.\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 color contrast of the floral print look in real life?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003ePink flowers on a black background create a clear contrast that is generally easy to assess – especially compared to patterns with many similar color tones. The detailed images in the shop provide the best impression of the actual effect.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-figurwunder-diese-20-modelle-zaubern-eine-traumfigur\"\u003eSwimsuit Figure Wonders: These 20 Models Create a Dream Figure\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-figurwunder-so-schmeicheln-sie-ihrer-figur-am-strand\"\u003eSwimsuit Figure Wonders: How to Flatter Your Figure at the Beach\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/modische-plus-size-cover-ups-strandkleider-fur-den-sommer-2024\"\u003eFashionable Plus-Size Cover-Ups \u0026amp; Beach Dresses for Summer 2024\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=\"Pink floral motifs on a black background – close-up of the print in sunlight\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Mesh cover-up loosely draped over the shoulders, bikini visible underneath\" 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 stock, 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 checked 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 scenarios above, the swimsuit with floral motifs could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eSwimsuit with floral motifs\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€35.95\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 swimsuit with floral motifs 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: 16.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\": \"Badeanzug mit Blütenmotiven\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/womens-three-piece-mesh-outerwear-bikini-318cb423-model-shot.png?v=1776776053\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"35.95\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Rose Red \/ S","offer_id":54413469384972,"sku":"CJYD189280005EV","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Rose Red \/ M","offer_id":54413469417740,"sku":"CJYD189280006FU","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Rose Red \/ L","offer_id":54413469450508,"sku":"CJYD189280007GT","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Rose Red \/ XL","offer_id":54413469483276,"sku":"CJYD189280008HS","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"One Piece Customized Style \/ S","offer_id":54413469516044,"sku":"CJYD189280009IR","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"One Piece Customized Style \/ M","offer_id":54413469548812,"sku":"CJYD189280010JQ","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"One Piece Customized Style \/ L","offer_id":54413469581580,"sku":"CJYD189280011KP","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"One Piece Customized Style \/ XL","offer_id":54413469614348,"sku":"CJYD189280012LO","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Yellow Leaves \/ S","offer_id":54413469647116,"sku":"CJYD189280013MN","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Yellow Leaves \/ M","offer_id":54413469679884,"sku":"CJYD189280014NM","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Yellow Leaves \/ L","offer_id":54413469712652,"sku":"CJYD189280015OL","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Yellow Leaves \/ XL","offer_id":54413469745420,"sku":"CJYD189280016PK","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Orange Color Stripes \/ S","offer_id":54413469778188,"sku":"CJYD189280017QJ","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Orange Color Stripes \/ M","offer_id":54413469810956,"sku":"CJYD189280018RI","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Orange Color Stripes \/ L","offer_id":54413469843724,"sku":"CJYD189280019SH","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Orange Color Stripes \/ XL","offer_id":54413469876492,"sku":"CJYD189280020TG","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Rose Red Color Stripes \/ S","offer_id":54413469909260,"sku":"CJYD189280021UF","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Rose Red Color Stripes \/ M","offer_id":54413469942028,"sku":"CJYD189280022VE","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Rose Red Color Stripes \/ L","offer_id":54413469974796,"sku":"CJYD189280023WD","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Rose Red Color Stripes \/ XL","offer_id":54413470007564,"sku":"CJYD189280024XC","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Black and White Flowers \/ S","offer_id":54413470040332,"sku":"CJYD189280025YB","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Black and White Flowers \/ M","offer_id":54413470073100,"sku":"CJYD189280026ZA","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Black and White Flowers \/ L","offer_id":54413470105868,"sku":"CJYD189280027AZ","price":35.95,"currency_code":"EUR","in_stock":true},{"title":"Black and White Flowers \/ XL","offer_id":54413470138636,"sku":"CJYD189280028BY","price":35.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/womens-three-piece-mesh-outerwear-bikini-318cb423-model-shot.png?v=1776776053"},{"product_id":"three-piece-bikini-printed-split-womens-swimsuit-suit","title":"Yellow Floral Bikini Women's","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a yellow bikini that just sits right at the beach – all day long?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a bikini fits just right – without you constantly having to think about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eOver the course of a day at the beach, you'll see how a bikini really fits – when going into the water, getting up from the sand, sitting down on the shore.\u003c\/p\u003e\n\n  \u003ch2\u003eYellow Bikini for Women with Floral Detail – for Beach, Lake, and Summer Days\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nA yellow bikini with a delicate floral pattern at the hem – subtly placed, clean-cut, made from elastic material with comfortable freedom of movement.\u003c\/p\u003e\n\n\u003cp\u003eThe yellow is not a loud signal yellow, but a warmer sun yellow – like the first streak of light over Lake Constance in the early morning. The floral pattern is not spread over the entire fabric, but appears as a calm detail at the hem: a hint of summer, not a statement. If you like swimwear that doesn't immediately catch the eye but still says something, you might find exactly what you're looking for here.\u003c\/p\u003e\n\n\u003cp\u003eThe combination of clear yellow and the subtle floral detail looks light and at the same time grounded. On the shores of Lake Constance, where the light falls differently than on the Mediterranean, this bikini blends into the surroundings – not as an eye-catcher, but as part of the moment. As a three-piece set, the top can be flexibly combined with the briefs; the color harmonizes with white, beige, or natural tones, without being obtrusive.\u003c\/p\u003e\n\n\u003cp\u003eThree moments where the design works: In the early morning during the first dip in the water, when the yellow glows warmly in the light. When lying on the towel, when the floral pattern at the hem becomes gently visible. During an evening stroll along the shore, when the sarong loosely wrapped adds a second layer.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The yellow appears warm in sunlight, not gaudy – and remains pleasantly understated.\u003cbr\u003e• The floral detail at the hem is only noticeable on second glance – just enough.\u003cbr\u003e• Worn as a set or combined individually: the top is versatile.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, check the sizes – the size calculator will help you assess the right choice.\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\": []}];\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✔ Material: Elastane\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Yellow with floral pattern at the hem\u003c\/li\u003e\n\n\u003cli\u003e✔ Product type: Bikini with sarong, three-piece combinable\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, the yellow floral women's bikini can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini is uncomfortable all day\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit, cut and a calm design – what fits together, what doesn't.\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\u003eThe top doesn't really stay put when swimming\u003c\/li\u003e\n\n\u003cli\u003eEstimating size online is harder than expected\u003c\/li\u003e\n\n\u003cli\u003eAfter a few hours, the waistband feels uncomfortably tight\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eAnyone spending a day at the lake or beach moves more than planned – into the water, out of the water, turning on the towel, getting up. This is where it becomes clear whether a bikini really fits or if you constantly have to keep an eye on it. A top that slips when swimming, or a waistband that presses after two hours, is distracting – from what the day is supposed to be.\u003c\/p\u003e\n\n\u003cp\u003eThis is often not due to the wearer, but to the cut: if top and bottom would need to come from different size ranges but are sold as a fixed set, a compromise often arises that doesn't fully satisfy either side. Elastic material can help, but it's no substitute for a cut designed for movement.\u003c\/p\u003e\n\n\u003cp\u003eThis yellow bikini with a floral pattern is designed for a calm fit during everyday movements near water – no competitive swimming, no sports, but a relaxed beach day. If you plan intense water activities or prefer a very sporty cut, another model might be more suitable. For a quiet day at the lake or beach, where comfort and subtle design are paramount, this bikini can be a suitable option.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes this fit how you spend a beach day?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you assess the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eCheck the available sizes and find out what's right for you.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Sits calmly when walking and standing up\u003c\/li\u003e\n\n\u003cli\u003e→ Floral pattern is only noticeable on second glance – deliberately subtle\u003c\/li\u003e\n\n\u003cli\u003e→ Yellow appears warm in sunlight, not gaudy\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✅ Subtle floral detail at the hem – looks reserved, not obtrusive\u003c\/li\u003e\n\n\u003cli\u003e✅ Elastic material – adapts to normal movement\u003c\/li\u003e\n\n\u003cli\u003e✅ Combinable as a three-piece set – flexible in composition\u003c\/li\u003e\n\n\u003cli\u003e✅ Warm sun yellow – harmonizes with beige, white, and natural colors\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intense swimming or sporty water activities\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer strong colors or large patterns will find a calmer design here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No documented information on chlorine or saltwater resistance\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Yellow Floral Women's 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 a stable fit during normal everyday movement near water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSize hard to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with height and weight as a guide\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eBikini sets without flexibility for top\/bottom\u003c\/td\u003e\n\n\u003ctd\u003eThree-piece combinable – top and briefs can be assessed separately\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eLoud patterns or large logos dominate the design\u003c\/td\u003e\n\n\u003ctd\u003eDelicate floral pattern at the hem – subtly placed, no print over the entire fabric\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 with the yellow floral women's bikini – so you'll need to adjust less while wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the yellow floral women's bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments where you'll notice: 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\u003eAt 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 – observe 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: Elastane\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \n  \n\u003cdiv class=\"bn-target\"\u003e\n\n  \u003ch3\u003eMay fit well if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eyellow floral women's 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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about the Yellow Floral Women's Bikini\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 the yellow women's bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eUse our size calculator and enter your height and weight – this helps to assess the suitable cut. If in doubt between two sizes, comparing the measurements directly can help.\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\"\u003eIs this floral bikini also suitable for swimming?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bikini is designed for a calm fit during normal movement in the water – for relaxed beach or lake days. For intense swimming or sporty water activities, a model specifically designed for that purpose is generally more suitable.\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 care for this floral bikini properly?\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 or hanging in the air preserves 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 combine the top and bottom of this bikini set separately?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe top and briefs are designed as a set, but can also be combined with other pieces in similar colors. Which combination suits you depends on the cut and color of the other pieces.\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 waistband fit during movement – for example, when standing up or walking?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe waistband is designed for a comfortable fit during normal everyday movement – when walking, sitting down, and going into the water. The elastic material adapts accordingly. With very intense movement, the result may vary.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus Size Swimsuits\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/bugel-bikini\"\u003eUnderwired 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=\"Warm sun yellow in the morning light on the shore of Lake Constance\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Floral pattern visible at the hem when lying on the towel\" 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 to order – 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 scenarios above, the yellow floral women's 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\"\u003eYellow Floral Women's Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€38.95\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 yellow floral women's 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\": \"gelber Bikini Blumen Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/three-piece-bikini-printed-split-o1cn018j2s6c-model-shot.png?v=1776775588\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"38.95\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"C3854 Yellow Printings \/ S","offer_id":54413471645964,"sku":"CJYD231310401AZ","price":38.95,"currency_code":"EUR","in_stock":true},{"title":"C3854 Yellow Printings \/ M","offer_id":54413471678732,"sku":"CJYD231310402BY","price":38.95,"currency_code":"EUR","in_stock":true},{"title":"C3854 Yellow Printings \/ L","offer_id":54413471711500,"sku":"CJYD231310403CX","price":38.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/three-piece-bikini-printed-split-o1cn018j2s6c-model-shot.png?v=1776775588"},{"product_id":"three-piece-v-buckle-solid-color-printing-triangle-bikini","title":"yellow bikini tropical leaf pattern","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a yellow bikini that simply stays put on the beach?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a bikini set fits perfectly from the start – no tugging, no second thoughts.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eWhen getting out of the water, when lying on the towel – that's when you see if a bikini really suits you.\u003c\/p\u003e\n\n  \u003ch2\u003eYellow Women's Bikini with Tropical Leaf Print – Triangle Top with Cover-up for Beach and Lake\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nTriangle shape with V-buckle detail on the top – for a natural silhouette without padding. The tropical leaf print in yellow adds color, and the light cover-up completes the set as a third piece for the walk from the water to your sunbed.\u003c\/p\u003e\n\n\u003cp\u003eThe pattern is colorful but not loud. Large-leaved tropical shapes on a yellow background – an imagery reminiscent of warm summer afternoons: on the shore of Lake Constance, on a terrace, somewhere where the air smells a little like sunscreen. The cover-up with the same pattern makes the set a coordinated whole, without you having to search for matching items.\u003c\/p\u003e\n\n\u003cp\u003eThe triangle top features a subtle V-buckle detail in the center. This is not an intrusive accent, but it gives the front area a clear line – instead of the often faceless surface of many simple triangle tops. Those who prefer very minimalist swimwear without any details might find the buckle element too prominent. Those who like a subtle but visible accent can consider it a deliberate feature. The straps are not adjustable – which keeps the construction simple, but means that the fit depends more on the chosen size.\u003c\/p\u003e\n\n\u003cp\u003eThe set fits well in situations where you don't want to spend too much thought on your outfit: into the water, throw on the cover-up, continue. By the lake after a long workday, on a balcony vacation overlooking the sea, or simply while doing nothing by the pool – the tropical yellow brings atmosphere without much effort.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern immediately catches the eye – but calmly, not overwhelmingly\u003cbr\u003e• The cover-up matches the top without you having to search\u003cbr\u003e• The set looks coordinated without appearing like a high-effort matching set\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you're looking for a coordinated triangle set with character, it's worth checking the size chart.\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\": []}];\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✔ Material: Polyester Fiber\u003c\/li\u003e\n\n\u003cli\u003e✔ Set: Triangle bikini top with V-buckle detail, bikini brief, cover-up with leaf pattern\u003c\/li\u003e\n\n\u003cli\u003e✔ Fit: unpadded, wire-free, non-adjustable straps, hook closure\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 fit you, the yellow bikini with tropical leaf print can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini set should consist of three pieces – and still look calm\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eTriangle top, brief, and cover-up – a set that belongs together.\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 and bottom look separate, even though they're supposed to be a set\u003c\/li\u003e\n\n\u003cli\u003eThe pattern is either too subtle or too loud – nothing in between\u003c\/li\u003e\n\n\u003cli\u003eTriangle tops without details sometimes appear arbitrary\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany bikinis look good in the product image, but on the beach, it turns out: top and bottom look uncoordinated, or the top shifts with every movement. This often happens when the cut, strap design, and details are not coordinated – and you only notice it once you've been in the water.\u003c\/p\u003e\n\n\u003cp\u003eFor triangle tops without internal construction, this is often due to straps that are too soft and shift with movement. Non-adjustable straps with a fixed hook closure can help the top sit more calmly – however, this depends more on the chosen size than with adjustable models.\u003c\/p\u003e\n\n\u003cp\u003eThis set – top, brief, and cover-up – is designed for a natural, light silhouette. No padding, no underwire, no push-up effect. Those who expect strong support or a lot of volume are probably better off with a more structured bikini top. Those looking for a simple triangle shape in a coordinated set with some color and pattern will find an easy option here. Does this match what you envision?\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eIf you're curious about how the pattern looks on the body, take a look at the product images in the detailed view.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Calm fit on the beach when standing up and moving\u003c\/li\u003e\n\n\u003cli\u003e→ Coordinated pattern across all three pieces – no searching needed\u003c\/li\u003e\n\n\u003cli\u003e→ Light cover-up for the walk from the water to the sunbed\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 helps you decide\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Three-piece set – top, brief, and cover-up in the same pattern, coordinated\u003c\/li\u003e\n\n\u003cli\u003e✅ Triangle shape with V-buckle detail – subtle accent without strong embellishment\u003c\/li\u003e\n\n\u003cli\u003e✅ Unpadded and wire-free – designed for a natural silhouette under normal use\u003c\/li\u003e\n\n\u003cli\u003e✅ Tropical leaf pattern in yellow – vibrant color that suits beach and lake\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Not ideal for those expecting strong push-up effect or a lot of padding\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not ideal for those needing very adjustable straps for fine-tuning\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not ideal for intensive water sports with high movement demands\u003c\/li\u003e\n\n\u003cli\u003e⚠️ The buckle detail is visible – those who prefer very minimalist swimwear without any front detail might find it too prominent\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Yellow bikini with tropical leaf pattern\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTriangle tops sit unsteadily if straps are too soft or too flexible\u003c\/td\u003e\n\n\u003ctd\u003eNon-adjustable straps with a hook closure can contribute to a more consistent fit – depending on the chosen size\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eMany triangle tops appear arbitrary and unstructured in the front area\u003c\/td\u003e\n\n\u003ctd\u003eThe V-buckle detail sets a visible accent in the center, without significantly altering the simple triangle shape\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eWith bikini sets, the top and bottom often don't really match\u003c\/td\u003e\n\n\u003ctd\u003eThis set is designed as a three-piece – top, brief, and cover-up share the same pattern and are designed as a unit\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eUnpadded models are sometimes considered to lack shaping\u003c\/td\u003e\n\n\u003ctd\u003eThe top is intentionally unpadded and wire-free – for those who prefer a natural silhouette without shaping\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 with the yellow bikini tropical leaf pattern – so you have to readjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the yellow bikini with tropical leaf pattern feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments where you'll notice: 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\u003eSalt water, 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 at 30°C, do not tumble dry – observe 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: Polyester Fiber\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\u003eyellow bikini with tropical leaf pattern\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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about the yellow bikini with tropical leaf pattern\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWhat is included in the three-piece triangle bikini set with cover-up?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe set consists of three parts: a triangle bikini top with a V-buckle detail in the center, a matching bikini brief, and a light cover-up in the same tropical leaf pattern. All three parts are coordinated.\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\"\u003eIs the bikini top padded or underwired?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eNo – the top is unpadded and wire-free. It is designed for a natural silhouette without a push-up effect. Those looking for strong support or a lot of shaping are better off with a more structured top.\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 find the right size for the yellow bikini with tropical leaf pattern?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSince the straps are not adjustable, the fit depends more on the chosen size than with adjustable models. Our size calculator helps you estimate based on height and weight – if in doubt, one size larger might be the more suitable 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\"\u003eHow do I care for this bikini properly?\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 at 30 °C on a delicate cycle. Do not tumble dry – lay flat to air dry to help maintain shape and material for 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\"\u003eWhat situations is this bikini set with cover-up and leaf pattern designed for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe set is designed for relaxed beach days – at the lake, pool, or beach. The cover-up is suitable for the walk from the water to the sunbed or as a light cover-up in between. It is not a sports bikini for intensive swimming with high movement demands.\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 waistband of the bikini brief sit during movement?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bikini brief has a normal waistband without special reinforcement. During calm everyday movements on the beach, it generally stays put. The model is not designed for intensive water sports or strong movement.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/die-perfekte-bademode-finden\"\u003eFinding the Perfect Swimwear\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/trendige-bademode-fur-damen-2025-stilvoll-am-strand\"\u003eTrendy Swimwear for Women 2025: Stylish at the Beach\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/bademode-fur-frauen\"\u003eSwimwear for Women\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=\"Tropical leaf pattern in yellow – front view with V-buckle detail of the triangle top\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Cover-up in the same pattern – worn over the bikini set\" 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 receipt\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 stock, 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 according to 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 scenarios above, the yellow bikini with tropical leaf pattern could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eyellow bikini tropical leaf pattern\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€31.95\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 yellow bikini with tropical leaf pattern 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\": \"gelber Bikini tropisches Blättermuster\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/three-piece-v-buckle-bikini-o1cn01c2jiyb-model-shot.png?v=1776775372\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"31.95\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Yellow \/ S","offer_id":54413471777036,"sku":"CJYD241320501AZ","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"Yellow \/ M","offer_id":54413471809804,"sku":"CJYD241320502BY","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"Yellow \/ L","offer_id":54413471842572,"sku":"CJYD241320503CX","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"Yellow \/ XL","offer_id":54413471875340,"sku":"CJYD241320504DW","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"White \/ S","offer_id":54413471908108,"sku":"CJYD241320505EV","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"White \/ M","offer_id":54413471940876,"sku":"CJYD241320506FU","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"White \/ L","offer_id":54413471973644,"sku":"CJYD241320507GT","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"White \/ XL","offer_id":54413472006412,"sku":"CJYD241320508HS","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ S","offer_id":54413472039180,"sku":"CJYD241320509IR","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ M","offer_id":54413472071948,"sku":"CJYD241320510JQ","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ L","offer_id":54413472104716,"sku":"CJYD241320511KP","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ XL","offer_id":54413472137484,"sku":"CJYD241320512LO","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ S","offer_id":54413472170252,"sku":"CJYD241320513MN","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ M","offer_id":54413472203020,"sku":"CJYD241320514NM","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ L","offer_id":54413472235788,"sku":"CJYD241320515OL","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ XL","offer_id":54413472268556,"sku":"CJYD241320516PK","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"White Flower \/ S","offer_id":54413472301324,"sku":"CJYD241320517QJ","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"White Flower \/ M","offer_id":54413472334092,"sku":"CJYD241320518RI","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"White Flower \/ L","offer_id":54413472366860,"sku":"CJYD241320519SH","price":31.95,"currency_code":"EUR","in_stock":true},{"title":"White Flower \/ XL","offer_id":54413472399628,"sku":"CJYD241320520TG","price":31.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/three-piece-v-buckle-bikini-o1cn01c2jiyb-model-shot.png?v=1776775372"},{"product_id":"ladies-leopard-print-bikini-swimsuit","title":"Leopard Print Bikini for Women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a leopard print bikini sit calmly on the beach – and look effortlessly chic?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that feeling when a bikini top just stays in place – all day, without needing adjustment.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eOver the course of a day at the beach, you'll find out if a bikini truly fits – or if it constantly demands attention.\u003c\/p\u003e\n\n  \u003ch2\u003eWomen's Leopard Print Bikini – subtle animal print for beach and lake\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nA two-piece with a leopard print – for beach days where the pattern speaks for itself, without being too loud. The leopard print is deliberately kept calm: neutral tones, no contrast overload, no flashy print.\u003c\/p\u003e\n\n\u003cp\u003eLeopard print has a long history in swimwear – and the most convincing variations are those that don't try to steal all the attention. This women's leopard print bikini follows that logic: the color palette moves in muted natural tones, so the pattern acts like a calm texture rather than a statement. On the shores of Lake Constance, where the light is often diffuse and soft, this is precisely what unfolds its own charm.\u003c\/p\u003e\n\n\u003cp\u003eThe pattern is easy to combine – with a plain beach towel, a white oversized shirt, or a simple wrap skirt. You sit on the shore, the light falls at an angle, and the leopard print plays with light and shadow in a way that catches the eye without dominating. When getting up from the sun lounger, going into the water, strolling along the beach promenade – the pattern adapts to movement without being too demanding.\u003c\/p\u003e\n\n\u003cp\u003eAs a gift, this bikini works for people who appreciate style but don't like loud prints – who prefer to be subtle rather than obvious. As your own choice, it's suitable for beach days when you simply want to be there, without worrying about your outfit.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern catches your eye – but not everyone's immediately\u003cbr\u003e• You reach for it in your suitcase in the morning because it goes with so many things\u003cbr\u003e• In the evening after a long day at the beach, you wonder why you didn't have it sooner\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, choose your size now – our size calculator helps with the estimation.\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 (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\": \"S\", \"bust_min\": 81.0, \"bust_max\": 86.0, \"waist_min\": 61.0, \"waist_max\": 66.0, \"hip_min\": 86.0, \"hip_max\": 91.0}, {\"name\": \"M\", \"bust_min\": 86.0, \"bust_max\": 91.0, \"waist_min\": 66.0, \"waist_max\": 71.0, \"hip_min\": 91.0, \"hip_max\": 96.0}, {\"name\": \"L\", \"bust_min\": 91.0, \"bust_max\": 96.0, \"waist_min\": 71.0, \"waist_max\": 76.0, \"hip_min\": 96.0, \"hip_max\": 101.0}, {\"name\": \"XL\", \"bust_min\": 96.0, \"bust_max\": 101.0, \"waist_min\": 76.0, \"waist_max\": 81.0, \"hip_min\": 101.0, \"hip_max\": 106.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✔ Material: Polyester fiber (Polyester)\u003c\/li\u003e\n\n\u003cli\u003e✔ Pattern: Leopard print in neutral tones\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Rinse briefly with clear water after wearing, delicate wash 30 °C, do not tumble dry\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 women's leopard print bikini can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini top shifts when you move\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eFit and comfort on a beach day – what can contribute to 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\u003eThe top shifts even when you first go into the water\u003c\/li\u003e\n\n\u003cli\u003eThe waistband feels uncomfortably tight after an hour\u003c\/li\u003e\n\n\u003cli\u003eThe pattern looks different in the photo than in reality\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou go into the water – and with the very first stroke, you realize you have to adjust your top. Or after a while, the waistband sits in a place that no longer feels comfortable. These are situations many people know, and they usually have to do with the cut – not the person.\u003c\/p\u003e\n\n\u003cp\u003eBikini tops that slip when moving are often not designed for active wear – they are optimized for static photos, not for actual swimming. The waistband that digs in often has little room for the body's natural movement. This is not a personal fit problem, but a question of the cut.\u003c\/p\u003e\n\n\u003cp\u003eThis leopard print bikini is designed for a calm fit during normal movement – i.e., while swimming, getting up from a sun lounger, playing water volleyball, or simply walking along the shore. It can help you worry less about the fit. If you plan intense water sports like surfing or water skiing, a sporty swimsuit with a tighter fit might be the more suitable choice.\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eDoes a calmer, more subtle cut match what you expect from a beach day?\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.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eChoose your size above – top and bottom can be selected separately.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"bn-social-proof\"\u003e\n\n\u003ch3\u003eMany pay special attention to\u003c\/h3\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e→ Top usually stays in place while swimming\u003c\/li\u003e\n\n\u003cli\u003e→ Pattern looks calmer on the water than expected – pleasantly discreet\u003c\/li\u003e\n\n\u003cli\u003e→ Still fits like the first day after a week at the beach\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✅ Subtle leopard print in neutral tones – can be combined with many beach outfits\u003c\/li\u003e\n\n\u003cli\u003e✅ Designed for a calm fit during normal movement\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be chosen separately – for an individual fit\u003c\/li\u003e\n\n\u003cli\u003e✅ Polyester fiber – dimensionally stable under normal use\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intense water sports like surfing or water skiing\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer a very striking, high-contrast pattern will find a calmer look here\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 for similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Women's Leopard Print Bikini\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips while swimming\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for a stable fit during normal movement in the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eWaistband digs in uncomfortably after a short wear time\u003c\/td\u003e\n\n\u003ctd\u003eCut with room for movement for longer beach days\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSize difficult to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom can be chosen separately, size calculator available\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eLeopard print looks too loud or artificial\u003c\/td\u003e\n\n\u003ctd\u003eCalm, muted color tones – pattern as a subtle texture, not a statement\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 considered precisely these situations with the women's leopard print 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 the women's leopard print bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you notice: 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 when moving.\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 – observe 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: polyester fiber (polyester)\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \n  \n\u003cdiv class=\"bn-target\"\u003e\n\n  \u003ch3\u003eCould be a good fit if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003ewomen's leopard print 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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about Women's Leopard Print 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 women's leopard print bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eOur size calculator helps you with the estimation – enter your height and weight. Top and bottom are separately selectable, so you can choose both parts independently in your suitable size. If unsure between two sizes, we generally recommend the larger option for more freedom of movement.\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 waistband of this animal print bikini fit when moving?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe bikini is designed for a calm fit during normal activity – i.e., while swimming, walking, and everyday beach movements. For very intense water activities, a tighter sports swimsuit may be the more suitable 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\"\u003eHow do I properly care for a bikini made of polyester fiber?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear water after wearing, then wash at 30 °C on a delicate cycle. Do not tumble dry – air drying preserves 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\"\u003eWhat situations is this simple leopard print bikini suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eFor relaxed beach days at the lake, beach, or pool – wherever you want to move without constantly adjusting your bikini. For high-performance water sports like surfing, a special sports swimsuit is generally more suitable.\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\"\u003eAre the top and bottom of the leopard print bikini set available separately?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the top and bottom can be chosen separately in the appropriate size. This can help if your torso and hips are different sizes.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Leopard print in muted natural tones on the shores of Lake Constance in the morning light\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Bikini wearer goes into the calm lake water – top stays in place\" 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 checked 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 scenarios above, a women's leopard print bikini could be a suitable option.\u003c\/p\u003e\n\n\n  \u003cdiv class=\"bn-bottom-cta\"\u003e\n\n\u003cp class=\"bn-cta-title\"\u003eWomen's Leopard Print Bikini\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€20.95\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 the moments you experience in it. \n        We hope that the women's leopard print 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\": \"Leopardenmuster Bikini Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/ladies-leopard-print-bikini-model.png?v=1776610401\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"20.95\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Leopard spots \/ M","offer_id":54413472497932,"sku":"CJYDYYBJ00922-Leopard spots-M","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard spots \/ S","offer_id":54413472629004,"sku":"CJYDYYBJ00922-Leopard spots-S","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard spots \/ L","offer_id":54413473251596,"sku":"CJYDYYBJ00922-Leopard spots-L","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard spots \/ XL","offer_id":54413473743116,"sku":"CJYDYYBJ00922-Leopard spots-XL","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard pink \/ M","offer_id":54413472694540,"sku":"CJYDYYBJ00922-Leopard pink-M","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard pink \/ S","offer_id":54413472530700,"sku":"CJYDYYBJ00922-Leopard pink-S","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard pink \/ L","offer_id":54413473775884,"sku":"CJYDYYBJ00922-Leopard pink-L","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard pink \/ XL","offer_id":54413472891148,"sku":"CJYDYYBJ00922-Leopard pink-XL","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Serpentine red \/ M","offer_id":54413472661772,"sku":"CJYDYYBJ00922-Serpentine red-M","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Serpentine red \/ S","offer_id":54413473612044,"sku":"CJYDYYBJ00922-Serpentine red-S","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Serpentine red \/ L","offer_id":54413473382668,"sku":"CJYDYYBJ00922-Serpentine red-L","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Serpentine red \/ XL","offer_id":54413473677580,"sku":"CJYDYYBJ00922-Serpentine red-XL","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard red \/ M","offer_id":54413473022220,"sku":"CJYDYYBJ00922-Leopard red-M","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard red \/ S","offer_id":54413472727308,"sku":"CJYDYYBJ00922-Leopard red-S","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard red \/ L","offer_id":54413473513740,"sku":"CJYDYYBJ00922-Leopard red-L","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Leopard red \/ XL","offer_id":54413473546508,"sku":"CJYDYYBJ00922-Leopard red-XL","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Printed blue \/ M","offer_id":54413472792844,"sku":"CJYDYYBJ00922-Printed blue-M","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Printed blue \/ S","offer_id":54413473153292,"sku":"CJYDYYBJ00922-Printed blue-S","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Printed blue \/ L","offer_id":54413473710348,"sku":"CJYDYYBJ00922-Printed blue-L","price":20.95,"currency_code":"EUR","in_stock":true},{"title":"Printed blue \/ XL","offer_id":54413472956684,"sku":"CJYDYYBJ00922-Printed blue-XL","price":20.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/ladies-leopard-print-bikini-model.png?v=1776610401"},{"product_id":"starry-sky-bikini-set","title":"Bikini star pattern pink blue","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that stays put while swimming – and still looks good?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eMaybe you know that relaxed feeling when a bikini stays in place all day without you having to think about it once.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eMany don't notice the difference immediately – only after the third time entering the water when nothing has slipped.\u003c\/p\u003e\n\n  \u003ch2\u003eBikini Star Pattern Pink Blue – Two-Piece Set for Lake, Pool, and Beach\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nA two-piece nylon bikini set – designed for relaxed beach days, with a subtle pink and blue star pattern that is more understated than loud.\u003c\/p\u003e\n\n\u003cp\u003eAt first glance, the star pattern looks like a small evening sky over Lake Constance – not garish, but with a quiet sparkle. The combination of pink and blue moves somewhere between sunset and dusk: familiar, but not arbitrary. When you stand in the shallow shore water and the colors change in the light, the pattern shows its calm quality.\u003c\/p\u003e\n\n\u003cp\u003eThe design suits people who don't need a stage at the beach – but simply want to be there. When getting up from the towel, when strolling along the shore, when having coffee after a swim: The star pattern blends in without disappearing. It can be easily combined with a plain beach towel or light shorts, without much thought.\u003c\/p\u003e\n\n\u003cp\u003eThis bikini might be a good fit if you like simple prints that say something – without saying too much. For a vacation at the lake, a weekend at the pool, or a long summer day at the beach where comfort and appearance can be equally important.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern appears different in the light than in the photo – a little livelier, less flat.\u003cbr\u003e• Pink and blue remain legible even when wet – no fading at first glance.\u003cbr\u003e• The set looks like one – even if the top and bottom are chosen separately.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, you can use our size calculator to estimate the cut and size.\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\": \"S\", \"bust_min\": 72.0, \"bust_max\": 80.0, \"waist_min\": 60.0, \"waist_max\": 66.0, \"hip_min\": 78.0, \"hip_max\": 86.0}, {\"name\": \"M\", \"bust_min\": 80.0, \"bust_max\": 88.0, \"waist_min\": 64.0, \"waist_max\": 72.0, \"hip_min\": 86.0, \"hip_max\": 94.0}, {\"name\": \"L\", \"bust_min\": 88.0, \"bust_max\": 96.0, \"waist_min\": 70.0, \"waist_max\": 76.0, \"hip_min\": 94.0, \"hip_max\": 102.0}, {\"name\": \"XL\", \"bust_min\": 96.0, \"bust_max\": 102.0, \"waist_min\": 76.0, \"waist_max\": 86.0, \"hip_min\": 102.0, \"hip_max\": 110.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✔ Material: Nylon\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Two-piece bikini set\u003c\/li\u003e\n\n\u003cli\u003e✔ Pattern: Star pattern in pink and blue\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, the pink and blue star pattern bikini can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen bikinis become restless in the water – and no longer fit afterwards\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eWhat often remains unclear when buying – and what matters for fit and material.\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\u003eThe top doesn't hold when swimming, even though the size is correct\u003c\/li\u003e\n\n\u003cli\u003eThe waistband digs in after a while, especially when sitting\u003c\/li\u003e\n\n\u003cli\u003eThe wet feeling is unpleasant – sticky or too heavy\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eSome bikinis look good in the photo – and then create work at the beach. The top slips when entering the water, the waistband digs in after sitting down, and everything feels somehow wrong when wet. This is not an isolated case, but a common pattern with swimwear designed for aesthetics rather than movement.\u003c\/p\u003e\n\n\u003cp\u003eIt's often due to the choice of material or the cut: fabrics that become heavy when wet or have little elasticity react to movement differently than expected. The waistband shape also determines whether a bikini still fits an hour later as it did when put on – or whether you constantly have to readjust it.\u003c\/p\u003e\n\n\u003cp\u003eThis bikini is made of nylon – a material that remains light under normal use and feels comfortable even when wet. Whether this suits you depends on what you expect from the fabric. If you are looking for a sporty, functional bikini for intensive water sports training, this cut might not be your first choice. For relaxed beach days at the lake, pool, or beach, it can be a calm option.\n\u003cbr\u003e\u003cbr\u003eDoes a subtly patterned nylon bikini suit what you envision for this summer?\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you estimate the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eIf you have any questions about the fit, you can reach us anytime – without any purchase obligation.\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→ Still fits after a long day at the lake as it did when put on\u003c\/li\u003e\n\n\u003cli\u003e→ The pattern appears livelier in the light than in the photo\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✅ Nylon material – light and comfortable even when wet under normal use\u003c\/li\u003e\n\n\u003cli\u003e✅ Subtle star pattern in pink and blue – understated, but recognizable\u003c\/li\u003e\n\n\u003cli\u003e✅ Two-piece set – top and bottom can be estimated separately\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intensive water sports or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer bold prints or striking colors will find a rather calm pattern here\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 for similar products\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Bikini Star Pattern Pink Blue\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\u003eNylon cut designed for a secure fit with normal movement in the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSwimwear feels heavy and sticky when wet\u003c\/td\u003e\n\n\u003ctd\u003eNylon remains light under normal use – even after entering the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSize difficult to estimate online\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator available with height and weight as a guide\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks faded after one season\u003c\/td\u003e\n\n\u003ctd\u003eObserve care instructions – rinse briefly and wash on a delicate cycle at 30 °C to preserve color longer\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 such situations with the Pink and Blue Star Pattern Bikini – so you have to readjust less when wearing it.\u003c\/p\u003e\n\n\n  \n\u003cdiv class=\"bn-lupe\"\u003e\n\n  \u003ch3\u003eHow the Pink and Blue Star Pattern 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\u003eAt the beach\u003c\/h4\u003e\n\n      \u003cp\u003eSalt water, 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, done. Delicate wash 30°C, do not tumble dry – observe 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: nylon\/nylon\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \n  \n\u003cdiv class=\"bn-target\"\u003e\n\n  \u003ch3\u003eMay fit well if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003epink and blue star pattern 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  \n\u003cdiv class=\"bn-faq\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\"\u003e\n\n  \u003ch3\u003eFrequently Asked Questions about the Pink and Blue Star Pattern Bikini\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 this pink and blue star pattern bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eSince bikini sizes can vary depending on the cut and manufacturer, we recommend using our size calculator. Enter your height and weight – this will give you a guide for the right size. If you are unsure between two sizes, it may help to choose the larger one.\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 bikini fit when moving in the water?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe set is made of nylon, a material that remains light under normal use and feels comfortable even when wet. With calm swimming movements and everyday beach activities, the fit generally remains stable. This cut is less designed for intensive water sports or competitive swimming.\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 care for this bikini properly?\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, lukewarm water. Wash on a delicate cycle at 30 °C, do not tumble dry. This will preserve the shape and color of the star pattern 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\"\u003eIs this bikini also suitable for a lake vacation?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the set is designed for relaxed bathing days – at the lake, pool, or beach. The subtle pink and blue star pattern goes well with a calm summer look. It is less designed for very sporty water activities.\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 choose the top and bottom of the bikini set separately?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThis is possible depending on availability. If you need different sizes for the top and bottom, check the individual items in the product selection or contact us – we will help you.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Star pattern in shallow shore water – Pink and blue in the sunlight\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Set spread out on a light towel – pattern and color combination up close\" 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 receipt\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 warehouse stock, 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 scenarios above, the pink and blue star pattern 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\"\u003eBikini Star Pattern Pink Blue\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€22.95\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 pink and blue star pattern 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: 2026-05-20\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\": \"Bikini Sternenmuster pink blau\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/starry-sky-bikini-set-model-v12.png?v=1776608094\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"22.95\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Red \/ S","offer_id":54413475283212,"sku":"CJYDYYLJ00460-Red-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Purple \/ M","offer_id":54413475315980,"sku":"CJYDYYLJ00460-Purple-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Green \/ L","offer_id":54413475348748,"sku":"CJYDYYLJ00460-Green-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Purple \/ XL","offer_id":54413475381516,"sku":"CJYDYYLJ00460-Purple-XL","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Purple \/ S","offer_id":54413475414284,"sku":"CJYDYYLJ00460-Purple-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Green \/ M","offer_id":54413475447052,"sku":"CJYDYYLJ00460-Green-M","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Green \/ XL","offer_id":54413475479820,"sku":"CJYDYYLJ00460-Green-XL","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Red \/ XL","offer_id":54413475512588,"sku":"CJYDYYLJ00460-Red-XL","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Red \/ L","offer_id":54413475545356,"sku":"CJYDYYLJ00460-Red-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Green \/ S","offer_id":54413475578124,"sku":"CJYDYYLJ00460-Green-S","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Purple \/ L","offer_id":54413475610892,"sku":"CJYDYYLJ00460-Purple-L","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"Red \/ M","offer_id":54413475643660,"sku":"CJYDYYLJ00460-Red-M","price":22.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/starry-sky-bikini-set-model-v12.png?v=1776608094"},{"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"},{"product_id":"printed-high-waist-bikini","title":"Bikini floral print orange blue","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini that stays put all day at the lake – and still stands out?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eMaybe you know that feeling when a bikini just fits – no pulling, no adjusting, it's just there.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eOver the course of a day at the beach, it becomes clear whether a bikini works with you – or constantly demands attention.\u003c\/p\u003e\n\n  \u003ch2\u003eBikini floral print orange blue – High waist cut for lake, pool and vacation\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nHigh waistband for a more secure fit when moving – with a subtle floral pattern in orange and blue that appears understated without disappearing.\u003c\/p\u003e\n\n\u003cp\u003eThe orange-blue floral pattern is inspired by a color palette known from Lake Constance: warm light on calm water, blossoms against the light. The colors are not loud, but they hold the gaze. On white beach sand, the pattern looks different than on the lake shore under old trees – in both situations, it has a harmonious feel.\u003c\/p\u003e\n\n\u003cp\u003eThe floral print is expansive, not overloaded. Orange and blue accentuate each other without one color dominating. This makes the bikini versatile – with a light linen sarong, a simple shirt, or an afternoon in a beach chair without much thought about the outfit. Those who prefer lively, large-scale patterns will find rather subtle botanicals here.\u003c\/p\u003e\n\n\u003cp\u003eIn the morning with the first dip in the water, in the afternoon when getting up from the deck chair, in the evening a quick trip to the shore – these are the moments when it shows whether a bikini simply goes with the flow. The floral pattern remains equally calm in the background in all these situations, without appearing out of place.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern stands out without being pushy – a subtle eye-catcher at the water.\u003cbr\u003e• The high waistband usually stays in place when sitting and standing.\u003cbr\u003e• Orange and blue work well with various beach towels and cover-ups, without much planning.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf this sounds like you, you'll find the size selection directly at the top of the page.\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 (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\": 81.0, \"bust_max\": 84.0, \"waist_min\": 61.0, \"waist_max\": 64.0, \"hip_min\": 88.0, \"hip_max\": 90.0}, {\"name\": \"S\", \"bust_min\": 86.0, \"bust_max\": 89.0, \"waist_min\": 66.0, \"waist_max\": 69.0, \"hip_min\": 93.0, \"hip_max\": 95.0}, {\"name\": \"One Size\", \"bust_min\": 86.0, \"bust_max\": 91.0, \"waist_min\": 69.0, \"waist_max\": 71.0, \"hip_min\": 94.0, \"hip_max\": 97.0}, {\"name\": \"M\", \"bust_min\": 91.0, \"bust_max\": 94.0, \"waist_min\": 71.0, \"waist_max\": 74.0, \"hip_min\": 98.0, \"hip_max\": 100.0}, {\"name\": \"L\", \"bust_min\": 98.0, \"bust_max\": 102.0, \"waist_min\": 77.0, \"waist_max\": 81.0, \"hip_min\": 104.0, \"hip_max\": 107.0}, {\"name\": \"XL\", \"bust_min\": 105.0, \"bust_max\": 109.0, \"waist_min\": 85.0, \"waist_max\": 89.0, \"hip_min\": 112.0, \"hip_max\": 116.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 bikini, top and bottom available separately\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Floral pattern in orange and blue, subtle and expansive\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: Rinse briefly with clear water after wearing, delicate wash 30 °C, do not tumble dry\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, the orange and blue floral bikini can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a bikini demands more attention in the water than the day at the beach itself\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA bikini that stays put – and a pattern that's simply there.\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 slips when swimming and constantly needs adjusting\u003c\/li\u003e\n\n\u003cli\u003eWaistband digs in or rolls down\u003c\/li\u003e\n\n\u003cli\u003eThe pattern looks different on the body than in the photo\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany know the feeling: You go into the water, briefly submerge – and something isn't sitting right anymore. The top has twisted, the waistband has slipped down. For the rest of the day at the beach, a quiet unease remains about whether everything is still in place.\u003c\/p\u003e\n\n\u003cp\u003eThis is often due to cuts that are designed for lying still, but not for movement in the water. A high waistband can help the bottom half sit more securely – because it covers more body area and has less room to shift. Not a promise, but generally, the cut makes a noticeable difference in everyday life at the water.\u003c\/p\u003e\n\n\u003cp\u003eThis orange and blue floral bikini is designed for calm situations at the water – beach, lake, pool, vacation. Those planning intensive water sports like surfing or diving usually need more specialized cuts with additional fastenings. If you're thinking more about relaxed beach days, this cut might be a good fit.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDo you prefer the feeling of great freedom and minimal fabric – or do you prefer a bikini that stays put even with an unexpected wave?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOur size calculator helps you assess the cut and size – enter your height and weight.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eTop and bottom can be selected separately, so that both fit you – even if the top and bottom require different sizes.\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→ Usually stays put when getting up and moving in the water\u003c\/li\u003e\n\n\u003cli\u003e→ Floral pattern appears more subtle on the body than expected – pleasantly unobtrusive\u003c\/li\u003e\n\n\u003cli\u003e→ High waist as a comfortable alternative to low-rise cuts\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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ High waistband – designed for a more stable fit when moving in water\u003c\/li\u003e\n\n\u003cli\u003e✅ Subtle floral pattern in orange and blue – understated and versatile\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be chosen separately – for different proportions\u003c\/li\u003e\n\n\u003cli\u003e✅ Calm design for relaxed beach days at the lake, pool, and beach\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cul class=\"bn-decision-contra\"\u003e\n\n\u003cli\u003e⚠️ Less suitable for intense water sports or competitive swimming\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer very expressive, large-format prints will find more floral subtlety here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No special sports fastenings or boning – more of a leisure cut\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 for similar\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Bikini floral print orange blue\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips when swimming and needs to be adjusted\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for a stable fit during everyday movement in water – not a promise, but generally calmer due to the cut\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eWaistband rolls down or digs in with prolonged wear\u003c\/td\u003e\n\n\u003ctd\u003eHigh waistband with more body contact – can help it stay in place better under normal stress\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSizes of bikinis online are hard to estimate\u003c\/td\u003e\n\n\u003ctd\u003eTop and bottom available separately, size calculator with height and weight as a guide\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks completely different on the body than in the photo\u003c\/td\u003e\n\n\u003ctd\u003eExpansive, subtle floral pattern – understated, not overloaded, appears similarly calm on different skin types\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 with the orange and blue floral 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 the orange and blue floral bikini feels in everyday life\u003c\/h3\u003e\n\n  \u003cp class=\"bn-lupe-intro\"\u003eSpecific moments when you notice: 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 when moving.\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\u003eAt the beach\u003c\/h4\u003e\n\n      \u003cp\u003eSalt water, 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 to dry, 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 fit well if …\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for an \u003cstrong\u003eorange and blue floral 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 longevity\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 the orange and blue floral bikini\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eHow does the orange and blue floral bikini fit when moving in water?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe high waistband is designed to sit more securely when walking, swimming, and standing up than low-cut models. Under normal leisure use, it generally stays in place – it is less designed for intensive water sports.\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, the top and bottom can be selected separately. This is particularly helpful if your upper body and hips are different sizes. Use the size calculator with your height and weight as a guide.\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 find the right size for a high-waisted bikini with a floral print?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eFor the bottom, refer to your pant size or hip measurement. The top is based on your bra size or bust measurement. Our size calculator gives you a first indication based on your height and weight – if unsure, many tend to choose a slightly larger size for the top.\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 a floral bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eRinse briefly with clear, cool water after wearing. Wash at 30 °C on a delicate cycle, do not tumble dry, and do not let it dry directly in the sun. This helps maintain its shape and colors 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\"\u003eIs the bikini also suitable for Lake Constance?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes, the bikini is designed for calm water situations such as lakes, pools, and beach vacations. For intensive water sports, models with additional fastenings are recommended.\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 orange-blue floral pattern look in reality?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe pattern is expansive and understated – not overloaded. Orange and blue are balanced in color, making the bikini versatile. Those who prefer very lively or large-format prints will find rather subtle botanicals here.\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\u003eGuides\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-grosse-grossen\"\u003ePlus 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=\"Orange blossoms on a blue background – visible on the shore of Lake Constance against the light\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"High waistband when getting out of the water – calm, without tugging\" 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 warehouse stock, 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 checked 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 scenarios above, the orange and blue floral 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\"\u003eBikini floral print orange blue\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€25.95\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 orange and blue floral 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\": \"Bikini Blumenmuster orange blau\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/printed-high-waist-bikini-breite-tr-ger.png?v=1776592126\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"25.95\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Orange \/ XXL","offer_id":54413475873036,"sku":"CJYDYYYJ00182-Orange-XXL","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Black \/ S","offer_id":54413475905804,"sku":"CJYDYYYJ00182-Black-S","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Black \/ M","offer_id":54413475938572,"sku":"CJYDYYYJ00182-Black-M","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Black \/ L","offer_id":54413475971340,"sku":"CJYDYYYJ00182-Black-L","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Black \/ XL","offer_id":54413476004108,"sku":"CJYDYYYJ00182-Black-XL","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ L","offer_id":54413476036876,"sku":"CJYDYYYJ00182-Orange-L","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ M","offer_id":54413476069644,"sku":"CJYDYYYJ00182-Orange-M","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ 3XL","offer_id":54413476102412,"sku":"CJYDYYYJ00182-Orange-3XL","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ XL","offer_id":54413476135180,"sku":"CJYDYYYJ00182-Orange-XL","price":25.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ S","offer_id":54413476167948,"sku":"CJYDYYYJ00182-Orange-S","price":25.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/printed-high-waist-bikini-breite-tr-ger.png?v=1776592126"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/collections\/WhatsApp_Image_2026-03-27_at_08.07.34_c6a72bc6-1895-4925-bd04-d665679bcf34.jpg?v=1780471493","url":"https:\/\/www.bodenseemarke.com\/en\/collections\/bademode.oembed?page=4","provider":"Bodenseemarke","version":"1.0","type":"link"}