{"title":"Women's swimsuit","description":"\u003ch1\u003e New collection of swimsuits – Your summer, your style!\u003c\/h1\u003e\n\n\u003cp\u003e \nWelcome to the new world of swimsuits – exclusively at \u003cstrong\u003eBodenseemarke\u003c\/strong\u003e ! Here you'll find the most beautiful styles for women who love the water and value fashion, comfort, and quality. Whether you're swimming laps, relaxing by the lake, or laughing with friends on the beach: our new swimsuits fit like a glove, accentuate your natural silhouette, and bring you pure summer bliss.\n\u003c\/p\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e\n\n \u003cstrong\u003eTrend colors \u0026amp; patterns:\u003c\/strong\u003e From elegant classics to trendy prints – discover your favorite!\u003c\/li\u003e\n\n\u003cli\u003e\n\n \u003cstrong\u003eFlattering cuts:\u003c\/strong\u003e Our cuts create a great figure and adapt flexibly.\u003c\/li\u003e\n\n\u003cli\u003e\n\n \u003cstrong\u003eQuality for well-being:\u003c\/strong\u003e High-quality, quick-drying materials and loving workmanship – for maximum wearing comfort.\u003c\/li\u003e\n\n\u003cli\u003e\n\n \u003cstrong\u003eSustainable \u0026amp; fair:\u003c\/strong\u003e Many models with sustainable fabrics – for a good feeling with every swim.\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp\u003e \nGet ready for your summer moment – ​​with a new swimsuit from Bodenseemarke. Find inspiration, discover your favorite look, and start the swimming season with confidence!\n\u003c\/p\u003e\n\n\u003cp\u003e \u003cstrong\u003eTip:\u003c\/strong\u003e The new collection is limited – secure your favorite model now!\u003c\/p\u003e\n\n","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=1782899928"},{"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\/WhatsApp_Image_2026-07-01_at_12.03.14.jpg?v=1782900335"},{"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":"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\/WhatsApp_Image_2026-06-25_at_08.22.41.jpg?v=1782369258"},{"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":"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":"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":"amazon-europe-and-the-united-states-new-ladies-one-piece-swimsuit-flamingo-print-bikini-open-back-swimwear-bikini","title":"Flamingo Swimsuit for Women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a swimsuit comfortable all day long – and still stand out?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003eYou might know that quiet feeling when a swimsuit just fits – from the first dip in the water to drying off on the lounge chair.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eMany don't notice the difference immediately, but only when they move in the water and don't have to readjust.\u003c\/p\u003e\n\n  \u003ch2\u003eFlamingo Swimsuit for Women with Tropical Print – for Beach, Lake, and Pool\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 tropical flamingo pattern – designed for a secure fit when moving in the water, made from recycled polyamide with elastane for comfortable freedom of movement.\u003c\/p\u003e\n\n\u003cp\u003eThe motif shows flamingos among tropical leaves and flowers – an imagery that evokes warm shores without being loud. The print is balanced: the colors remain subtle enough not to dominate, yet present enough to stand out on the beach when the sun hits the water.\u003c\/p\u003e\n\n\u003cp\u003eThe tropical flamingo print appears pleasantly simple due to its clear lines – even if the pattern seems playful at first glance. On the shores of Lake Constance, where the horizon is wide and the light falls softly, this swimsuit blends in naturally: not out of place, not too quiet. Those who prefer floral or geometric patterns will find a different style here – the flamingo print has its own subtly summery, exotic touch.\u003c\/p\u003e\n\n\u003cp\u003eWhether you're the first to go into the cool water in the morning and the pattern lights up in the sunlight, you're lying on a lounge chair at midday and the motif speaks quietly for itself, or you're sitting on the pier in the evening and the flowers in the fabric almost look painted – the design goes along with all these moments without demanding too much. As a gift, it expresses something that words sometimes struggle to capture: a feeling for summer, for lightness, for someone who sees the beauty in everyday life.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll know\u003c\/h3\u003e\n\n\u003cp\u003e• You see the pattern and think of vacation – even before you're at the water.\u003cbr\u003e• The swimsuit feels light in the water and doesn't pull on your skin.\u003cbr\u003e• The motif looks just as good in photos as in real life – subtle, but present.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you like, choose your size now – or read on to find out how the swimsuit fits in everyday life.\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\", \"bust_min\": 72.0, \"bust_max\": 80.0, \"waist_min\": 60.0, \"waist_max\": 68.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\": 78.0, \"hip_min\": 94.0, \"hip_max\": 102.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✔ Cut: One-piece with open back, tropical flamingo 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 fit you, the Flamingo Women's Swimsuit can feel significantly different in everyday life.\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\"\u003eWhat a swimsuit should be able to do – and what this model offers.\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 slips when swimming and needs constant adjustment\u003c\/li\u003e\n\n\u003cli\u003eFabric feels uncomfortably wet on the skin\u003c\/li\u003e\n\n\u003cli\u003eFit is hard to assess when buying online\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eMany know this: you jump into the water, and shortly after, the swimsuit no longer fits as it did when you tried it on. You pull, twist, adjust – and the day at the lake loses some of its ease. This is not an isolated case, but a frequently mentioned point for one-piece swimsuits not designed for movement in the water.\u003c\/p\u003e\n\n\u003cp\u003eThe reason often lies in the interaction of cut and material: if the fabric stretches when wet or the cut is not adapted to movement, everything shifts – even with an otherwise good fit. Recycled polyamide with elastane is designed for exactly this stress: it yields, springs back, and remains dimensionally stable with normal everyday use.\u003c\/p\u003e\n\n\u003cp\u003eThis Flamingo Women's Swimsuit is designed for a secure fit during movement – when swimming, getting out of the water, walking on the beach. If you are looking for a swimsuit for intensive daily swimming sessions or competitive water sports, this model may not be the first choice – there are specialized sports swimsuits with different cuts for that.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDo you prefer a swimsuit that fits securely and has a subtle pattern – or would you rather have a plain model?\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\u003eFor questions about the fit: 30-day returns – to give you some breathing room for your decision.\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 securely when swimming and walking on the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Motif appears balanced even in water, not obtrusive\u003c\/li\u003e\n\n\u003cli\u003e→ Care instructions clear and simple – rinse briefly, delicate wash 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 helps you with your decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ One-piece cut with tropical flamingo print – for beach, lake, and pool\u003c\/li\u003e\n\n\u003cli\u003e✅ 78% recycled polyamide, 22% elastane – designed for freedom of movement under normal load\u003c\/li\u003e\n\n\u003cli\u003e✅ Open back – can make the wearing experience more pleasant on warm days\u003c\/li\u003e\n\n\u003cli\u003e✅ Clear care instructions: Delicate wash 30 °C, no tumble dry\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 daily swimming sessions or competitive water sports\u003c\/li\u003e\n\n\u003cli\u003e⚠️ If you are looking for a plain, very simple model, you will find a patterned design here\u003c\/li\u003e\n\n\u003cli\u003e⚠️ No documented chlorine or saltwater resistance for continuous exposure\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✅ Flamingo 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 and needs adjustment\u003c\/td\u003e\n\n\u003ctd\u003eOne-piece cut with elastane – designed for a more secure fit when moving in the water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eFabric feels uncomfortably heavy on the skin when wet\u003c\/td\u003e\n\n\u003ctd\u003eRecycled polyamide can help the material feel lighter when wet\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline sizing for swimwear hard to assess\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator + 30-day returns for more decision-making leeway\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\u003eTropical flamingo print with subtle coloring – remains balanced due to clear lines\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 Flamingo Women's Swimsuit – 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 Flamingo 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\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. 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\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 the water and afterwards\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 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 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 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 Flamingo Women's Swimsuit\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWho is the tropical Flamingo one-piece swimsuit 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 swimsuit is designed for everyday use at the beach, lake, or outdoor pool – i.e., for normal use with swimming, lounging, and moving in the water. Those who do intensive daily swimming sessions or competitive water sports may be better advised with a specialized sports swimsuit.\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 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 made from 78% recycled polyamide and 22% elastane – a material blend designed for freedom of movement and shape retention under normal load. It can help the fit remain secure when swimming and moving in the water. For the exact fit, we recommend using the size calculator.\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 Flamingo swimsuit?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eWith swimwear, the fit can be hard to assess online. Our size calculator helps you find the right size based on your height and weight. If you are unsure between two sizes, the larger size is often recommended for more freedom of movement. Also: 30-day returns if the size 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\"\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, it's best to rinse briefly with clear water, then wash at 30 °C on a delicate cycle. Do not tumble dry – this preserves the material and shape in the long run.\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 Flamingo Women's 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 designed for normal use in lakes, at the beach, and in pools. The recycled polyamide with elastane material is suited for contact with fresh and saltwater under regular use. For information on chlorine resistance, we recommend checking the current product details.\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 swimsuit from plain models?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe difference lies in the design: the flamingo pattern with tropical leaves and flowers gives the one-piece a subtly summery-exotic touch that stands out from plain solid colors. Those who prefer a very simple, plain model will find a different style here. The pattern appears balanced even with movement in the water due to its clear lines.\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-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=\"Flamingo motif with tropical leaves and flowers in the sunlight by the water\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Open back in a one-piece cut – visible when walking on the beach\" 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 recognize yourself in the scenarios above, the Flamingo 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\"\u003eFlamingo Women's Swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€26.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 Flamingo 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\": \"Flamingo Badeanzug Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/flamingo-one-piece-1618644284923.png?v=1776151564\", \"category\": \"badeanzug\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"26.99\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Photo Color \/ S","offer_id":54413477937420,"sku":"CJYJ108437201AZ","price":26.99,"currency_code":"EUR","in_stock":true},{"title":"Photo Color \/ M","offer_id":54413477970188,"sku":"CJYJ108437202BY","price":26.99,"currency_code":"EUR","in_stock":true},{"title":"Photo Color \/ L","offer_id":54413478002956,"sku":"CJYJ108437203CX","price":26.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/flamingo-one-piece-1618644284923.png?v=1776151564"},{"product_id":"bikini-zip-stripe-one-piece-swimsuit","title":"Yellow swimsuit for women","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat defines a plain swimsuit that simply sits calmly on the beach – and remains versatile?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that uncomplicated feeling when a swimsuit lasts all day – without you having to think much about it.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eMany don't notice the difference when putting it on, but when they move – going into the water, standing up, walking on.\u003c\/p\u003e\n\n  \u003ch2\u003eYellow Women's Swimsuit – plain, clean-cut, for beach and lake\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nA one-piece swimsuit in rich yellow – plain, clean-lined, made of polyamide. No pattern, no print – just a color that works by the water.\u003c\/p\u003e\n\n\u003cp\u003eYellow by the water has something direct about it. When the sun falls on the lake and you go into the water from the jetty, this color provides a calm accent – without being obtrusive. The plain yellow swimsuit thrives on this clarity: no distraction from patterns, no motif that comes and goes with the season.\u003c\/p\u003e\n\n\u003cp\u003eThe one-piece silhouette gives the yellow space. While lying on a towel, standing up by the pool, walking across the sandy beach – the closed line of the swimsuit looks calm and remains consistent in movement. Yellow can also be easily combined with neutral tones: a white cover-up, a beige pareo, light shorts – the basic principle remains simple.\u003c\/p\u003e\n\n\u003cp\u003eOn Lake Constance, where light and water often gently merge, a clear yellow can be exactly what you need: a color that carries a mood without being loud. For a quiet day at the lake, a holiday morning by the pool, or an afternoon at the outdoor pool – this swimsuit fits into such moments without overpowering them.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• You put it on and it needs no adjustment – it fits as it is.\u003cbr\u003e• The color appears warm in daylight without being garish – a shade that lasts.\u003cbr\u003e• You reach for it in the morning because it feels uncomplicated – no overthinking, no coordinating.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you want to estimate the fit and size – the size chart in the shop 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\": \"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: Polyamide\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: one-piece, plain yellow\u003c\/li\u003e\n\n\u003cli\u003e✔ Care: rinse briefly with clear water after wear, 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 yellow women's swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen fit and color are hard to judge online\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eA few points that can help before 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\u003eSwimwear often fits differently than expected without trying it on\u003c\/li\u003e\n\n\u003cli\u003eCuts vary greatly depending on the brand\u003c\/li\u003e\n\n\u003cli\u003eIt's difficult to judge online whether polyamide feels comfortable on the body\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eYou see a product image, the color looks good – but whether the swimsuit really fits, whether it remains stable when going into the water or sags when getting up from the lounge chair, is difficult to judge without trying it on. This is generally the case with swimwear – and not a sign of a bad product.\u003c\/p\u003e\n\n\u003cp\u003ePolyamide is a common material in swimwear. It feels smooth, lies close to the body, and can feel lighter when wet than heavier fabrics. Specific information on lining, padding, or compression is not available for this model – if you need these details, you should check the product page in the shop more closely or refer to customer reviews.\u003c\/p\u003e\n\n\u003cp\u003eThis yellow swimsuit is designed for a clear, functional look – without shaping elements, without push-up. If you are looking for a discreet model that simply goes along with you at the beach or lake and can be easily combined with beachwear, it might fit. If, on the other hand, you specifically need support, underwire, or tummy control, another model is probably the better choice.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhich qualities are most important to you in a swimsuit – fit, color, comfort, or all three?\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 in the shop – and if in doubt, also read the care instructions before deciding.\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 by the lake or on the beach, combined with a light cover-up\u003c\/li\u003e\n\n\u003cli\u003e→ used for quiet swimming days by the pool or in the outdoor pool\u003c\/li\u003e\n\n\u003cli\u003e→ combined with a pareo, shorts, or neutral overshirt for an uncomplicated beach look\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, clear design – easily combinable with neutral beachwear\u003c\/li\u003e\n\n\u003cli\u003e✅ One-piece cut for a closed silhouette\u003c\/li\u003e\n\n\u003cli\u003e✅ Polyamide – smooth feel, light on the body under normal use\u003c\/li\u003e\n\n\u003cli\u003e✅ Subtle color effect – calm enough for the beach, pool, and everyday swimming days\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 are specifically looking for push-up, underwire, or shaping elements\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Less suitable if you prefer natural fibers over synthetic materials\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Not the first choice if you expect a lot of coverage or a playful, patterned 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✅ Yellow women's swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSwimsuit feels heavy or uncomfortable after swimming\u003c\/td\u003e\n\n\u003ctd\u003ePolyamide is often used in swimwear because it can feel smooth and lighter when wet\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePlain swimwear is hard to judge online – what does it look like on the body?\u003c\/td\u003e\n\n\u003ctd\u003eClear one-piece silhouette without patterns – the effect on the body can be visually understood well with plain cuts\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eSwimwear is hard to combine with other items on the beach\u003c\/td\u003e\n\n\u003ctd\u003ePlain yellow can be easily combined with neutral cover-ups, pareos, or light shorts\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eUnclear online whether the cut provides enough support\u003c\/td\u003e\n\n\u003ctd\u003eNo documented information on shaping elements – instead, an honest assessment: designed more for relaxed swimming days than intense activity\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 yellow 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 yellow 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 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 – 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: Polyamide\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n  \n\n  \n  \n\u003cdiv class=\"bn-target\"\u003e\n\n  \u003ch3\u003eMight fit well if…\u003c\/h3\u003e\n\n  \u003cul\u003e\n\n    \u003cli\u003e→ You are looking for a \u003cstrong\u003eyellow women's swimsuit\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 Yellow Women's Swimsuits\u003c\/h3\u003e\n\n  \n  \u003cdiv itemscope itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\"\u003e\n\n    \u003ch4 itemprop=\"name\"\u003eWho is a plain yellow women's swimsuit for the beach and lake suitable for?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThis model may suit you if you are looking for a discreet, clean-cut design that can be easily combined with neutral beachwear. Those who specifically need shaping or supportive elements would be better advised with 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 find the right size for a swimsuit online?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe most reliable method is the size chart in the shop with details on bust, waist, and hip measurements. For swimwear, it is advisable to choose one size larger if in doubt – polyamide fits snugly and stretches little.\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 swimsuit?\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 – drying flat in the air protects the 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\"\u003eDoes the swimsuit have shaping or supportive elements?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eNo specific information is available regarding padding, lining, underwire, or compression level. If you are specifically looking for bust support or tummy control, you should check these details directly in the shop.\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 yellow swimsuit be combined with beachwear?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eA plain yellow can be easily combined with neutral tones – such as a white overshirt, a beige pareo, or light shorts. The one-piece cut provides a clear base.\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-zukunft-der-damenbademode-trends-2024\"\u003eThe Future of Women's Swimwear: Trends 2024\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/stilvolle-badeanzuge-fur-jeden-korpertyp\"\u003eStylish Swimsuits for Every Body Type\u003c\/a\u003e\u003c\/li\u003e\n\n    \u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-mit-bauchweg-effekt-im-sale\"\u003eTummy Control Swimsuits on Sale\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=\"Rich yellow tone in daylight by the water – warm without being glaring\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"One-piece silhouette on light sand or by the poolside\" 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, a yellow 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\"\u003eYellow Women's Swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€27.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 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\": \"gelber Badeanzug Damen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/bikini-zip-stripe-one-piece-swimsuit.png?v=1776147472\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"27.95\", \"priceCurrency\": \"EUR\"}}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Orange \/ S","offer_id":54413480526092,"sku":"CJYJ149265601AZ","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ M","offer_id":54413480558860,"sku":"CJYJ149265602BY","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ L","offer_id":54413480591628,"sku":"CJYJ149265603CX","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ XL","offer_id":54413480624396,"sku":"CJYJ149265604DW","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent green \/ S","offer_id":54413480657164,"sku":"CJYJ149265605EV","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent green \/ M","offer_id":54413480689932,"sku":"CJYJ149265606FU","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent green \/ L","offer_id":54413480722700,"sku":"CJYJ149265607GT","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Fluorescent green \/ XL","offer_id":54413480755468,"sku":"CJYJ149265608HS","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Watermelon Red \/ S","offer_id":54413480788236,"sku":"CJYJ149265609IR","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Watermelon Red \/ M","offer_id":54413480821004,"sku":"CJYJ149265610JQ","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Watermelon Red \/ L","offer_id":54413480853772,"sku":"CJYJ149265611KP","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Watermelon Red \/ XL","offer_id":54413480886540,"sku":"CJYJ149265612LO","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"White and red zipper \/ S","offer_id":54413480919308,"sku":"CJYJ149265613MN","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"White and red zipper \/ M","offer_id":54413480952076,"sku":"CJYJ149265614NM","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"White and red zipper \/ L","offer_id":54413480984844,"sku":"CJYJ149265615OL","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"White and red zipper \/ XL","offer_id":54413481017612,"sku":"CJYJ149265616PK","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Grey letters \/ S","offer_id":54413481050380,"sku":"CJYJ149265617QJ","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Grey letters \/ M","offer_id":54413481083148,"sku":"CJYJ149265618RI","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Grey letters \/ L","offer_id":54413481115916,"sku":"CJYJ149265619SH","price":27.95,"currency_code":"EUR","in_stock":true},{"title":"Grey letters \/ XL","offer_id":54413481148684,"sku":"CJYJ149265620TG","price":27.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/bikini-zip-stripe-one-piece-swimsuit.png?v=1776147472"},{"product_id":"printed-hollow-out-tied-one-piece-bikini","title":"Women's Tropical Floral Swimsuit","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 – even when you're moving?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a swimsuit just fits – from the first dip in the water to the last stroll along the shore.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eAnd that's exactly where many notice the difference – not when trying it on, but in the middle of a day at the beach.\u003c\/p\u003e\n\n  \u003ch2\u003eTropical Flower Swimsuit – One-Piece for Lake, Beach, and Pool\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003e\nA one-piece swimsuit with a tropical floral and palm pattern – for those who like a touch of color by the water without going too bold. The pattern with blossoms, palms, and pineapple motifs is set against a neutral background, keeping it calm enough for all-day wear.\u003c\/p\u003e\n\n\u003cp\u003eThe tropical floral pattern of this swimsuit is close to those prints seen on mild summer days at the lakeside or during a beach vacation – not flashy, more like a vacation feeling captured in a pattern. The combination of blossoms, leaves, and the pineapple motif works together on a neutral background without demanding too much attention. If you like floral patterns but aren't looking for a high-impact statement, this might be for you.\u003c\/p\u003e\n\n\u003cp\u003eAt the shore of Lake Constance, when you move from the water to your lounge chair and stand briefly in the sand: the pattern quietly blends in. Or in the pool area of a small hotel, where you pause between two laps and the sun shines on the wet fabric – the tropical floral pattern on this swimsuit fits into such moments without being intrusive. For those who like a summery print but don't want to be the center of attention, this can be a good fit.\u003c\/p\u003e\n\n\u003cp\u003eAs a travel companion for a seaside vacation or as an everyday item for the swimming lake, this swimsuit is particularly suitable if you are looking for a one-piece model that is uncomplicated both in and out of the water. The floral pattern can be easily combined with a light wrap skirt or a light linen cloth – the neutral background keeps combination options open.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll know\u003c\/h3\u003e\n\n\u003cp\u003e• The pattern stands out without dominating – good for those who like color but prefer a subtle appearance.\u003cbr\u003e• The floral and palm motif feels lighter than large-scale prints – suitable for long beach days without fashion effort.\u003cbr\u003e• The one-piece cut provides a complete look without much thought – from the water to the lounge chair without a detour.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eCheck the available sizes and compare your waist, hip, and bust measurements with our 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-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\", \"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: Polyester\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: One-piece\u003c\/li\u003e\n\n\u003cli\u003e✔ Pattern: Tropical floral and palm pattern with pineapple motif on a neutral background\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 tropical floral swimsuit can feel significantly different in everyday wear.\u003c\/p\u003e\n\n  \u003cdiv class=\"bn-comfort\"\u003e\n\n  \u003ch2\u003eWhen a swimsuit fits differently in the water than when trying it on\u003c\/h2\u003e\n\n  \u003cp class=\"bn-subheadline\"\u003eWhat the cut can do – and who this swimsuit is 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\u003eThe swimsuit slips when swimming or walking on the beach\u003c\/li\u003e\n\n\u003cli\u003eThe wet material feels uncomfortable on the skin\u003c\/li\u003e\n\n\u003cli\u003eIt's hard to gauge the size online\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 swimsuit, it fits well – and after a few laps or a jump into the water, something has shifted. You tug at it, turn away briefly, adjust it again. This doesn't always happen due to carelessness when buying, but often because the cut and movement in the water have different requirements than standing still beforehand.\u003c\/p\u003e\n\n\u003cp\u003eA swimsuit fits differently in the water than on land because buoyancy, currents, and stretching combine when swimming. Cuts designed for freedom of movement while maintaining a stable fit react more calmly to this. This swimsuit is intended for moderate water use – for swimming on vacation, at the lake, or in the pool – not for daily intensive training or competitive water sports. If you're looking for a model for very athletic use, you'll find specialized cuts designed for other requirements in sports equipment ranges.\u003c\/p\u003e\n\n\u003cp\u003eFor anyone looking for a comfortable, well-fitting, one-piece swimsuit with a tropical floral pattern for holidays and swimming lakes, this model can be an option – especially if a calm design, an uncomplicated look, and a cut without being too tight or too loose are desired. When buying swimwear online, experience shows that choosing the right size is the most important step.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eHave you measured your waist, hips, and bust and compared them with the size chart?\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: 30-day returns give you room to check the fit at your leisure.\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 and walking on the shore\u003c\/li\u003e\n\n\u003cli\u003e→ Floral motifs that still look fresh even after a long day at the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Easy to combine – from the water to the beach promenade\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 – no need to adjust when switching between water and lounge chair\u003c\/li\u003e\n\n\u003cli\u003e✅ Tropical floral and palm pattern on a neutral background – discreet enough for the whole day at the beach\u003c\/li\u003e\n\n\u003cli\u003e✅ Polyester material – designed for moderate use in lakes, pools, and beaches\u003c\/li\u003e\n\n\u003cli\u003e✅ Size selection based on waist, hip, and bust – for a more accurate fit than standard sizes alone\u003c\/li\u003e\n\n\u003cli\u003e✅ 30-day returns – check the fit 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 competitive swimming or intense water sports\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Those who prefer very structured or body-hugging sports cuts will find specialized alternatives in the sportswear section\u003c\/li\u003e\n\n\u003cli\u003e⚠️ For those seeking subtle solid colors, the floral pattern might be 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\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 Tropical Floral 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 standing up\u003c\/td\u003e\n\n\u003ctd\u003eOne-piece cut designed 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\u003eOnline swimwear sizes are difficult to estimate\u003c\/td\u003e\n\n\u003ctd\u003eSize selection by waist, hip, and bust plus size calculator and 30-day returns\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks different in photos than in reality – often too loud or too pale\u003c\/td\u003e\n\n\u003ctd\u003eTropical floral pattern on a neutral background – rather calm than dominant\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 Tropical Floral 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 Tropical Floral 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\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 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: Polyester\u003cbr\u003e• Care: Rinse briefly with clear water after wearing, 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\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 mispurchases\u003c\/strong\u003e through 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, no 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 Tropical Floral 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 tropical floral 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 moderate use while swimming and bathing – for holidays, lakes, and pools. It is not designed for daily intensive training or competitive sports. For the best fit, we recommend measuring your waist, hips, and bust and comparing them with 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 find the right size for this floral print swimsuit?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eMeasure your waist, hips, and bust and compare the values with our size chart. With swimwear, standard sizes sometimes differ, so comparing all three measurements is worthwhile. Our size calculator provides additional 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 do I care for the tropical floral 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. Delicate wash at 30°C, do not tumble dry. This will help the material 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 women's tropical floral 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 model is suitable for lakes, pools, and beaches. The tropical floral pattern on a neutral background looks uncomplicated and combinable both at Lake Constance and on vacation.\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 one-piece tropical print 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 looking for a swimsuit for daily, intense swimming or competitive water sports will find more suitable models in specialized sports equipment ranges. This swimsuit is designed for normal bathing and holiday 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\"\u003eCan I return the plain women's swimsuit with floral pattern if it doesn't fit?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eYes – we offer 30-day returns. This gives you room to check the fit at home at your leisure.\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=\"Tropical floral and palm pattern with pineapple on a neutral background – clearly recognizable photographically\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"One-piece cut that lies smoothly on the body – without overhang or creasing\" 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 Tropical Floral 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\"\u003eWomen's Tropical Floral Swimsuit\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 Tropical Floral 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: 17.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 tropische Blumen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/printed-hollow-out-tied-one-piece-bikini-editorial-strand.png?v=1776102342\", \"category\": \"badeanzug\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"36.99\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Nach dem Tragen kurz mit klarem Wasser ausspülen, Feinwäsche 30 °C, nicht im Trockner trocknen\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"JP42LG \/ S","offer_id":54413483147532,"sku":"CJYJ197259301AZ","price":36.99,"currency_code":"EUR","in_stock":true},{"title":"JP42LG \/ M","offer_id":54413483180300,"sku":"CJYJ197259302BY","price":36.99,"currency_code":"EUR","in_stock":true},{"title":"JP42LG \/ L","offer_id":54413483213068,"sku":"CJYJ197259303CX","price":36.99,"currency_code":"EUR","in_stock":true},{"title":"JP42LG \/ XL","offer_id":54413483245836,"sku":"CJYJ197259304DW","price":36.99,"currency_code":"EUR","in_stock":true},{"title":"JP42BL \/ S","offer_id":54413483278604,"sku":"CJYJ197259305EV","price":36.99,"currency_code":"EUR","in_stock":true},{"title":"JP42BL \/ L","offer_id":54413483311372,"sku":"CJYJ197259307GT","price":36.99,"currency_code":"EUR","in_stock":true},{"title":"JP42BL \/ XL","offer_id":54413483344140,"sku":"CJYJ197259308HS","price":36.99,"currency_code":"EUR","in_stock":true},{"title":"JP42BK \/ S","offer_id":54413483376908,"sku":"CJYJ197259309IR","price":36.99,"currency_code":"EUR","in_stock":true},{"title":"JP42BK \/ M","offer_id":54413483409676,"sku":"CJYJ197259310JQ","price":36.99,"currency_code":"EUR","in_stock":true},{"title":"JP42BK \/ L","offer_id":54413483442444,"sku":"CJYJ197259311KP","price":36.99,"currency_code":"EUR","in_stock":true},{"title":"JP42BK \/ XL","offer_id":54413483475212,"sku":"CJYJ197259312LO","price":36.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/printed-hollow-out-tied-one-piece-bikini-editorial-strand.png?v=1776102342"},{"product_id":"one-piece-swimsuit-bikini-suit-conservative-cover-belly","title":"Women's Swimsuit with Paint Splatter Leaf Motif","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n\u003cdiv class=\"bn-problem-hook\"\u003e\n\n\u003cp\u003eWhat makes a swimsuit that stays put all day – without you even thinking about it?\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a swimsuit is simply there – and you can focus on your day.\u003c\/p\u003e\n\n\u003cp class=\"bn-soft-reality\"\u003eAnd that's where the difference shows – not when you put it on, but when you dive into the water a second time.\u003c\/p\u003e\n\n\u003ch2\u003eWomen's Tummy Control Swimsuit with Style – for Lake and Beach\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this swimsuit is made for:\u003c\/strong\u003e\u003cbr\u003eA women's tummy control swimsuit – with a cut that subtly shapes without constricting. The paint splatter leaf motif brings movement to the design without being loud. Slightly elastic, comfortable on the skin.\u003c\/p\u003e\n\n\u003cp\u003eThe pattern emerged from the interplay of two visual languages: the lively irregularity of a paint splatter and the serene clarity of tropical leaves. Together, they don't look gaudy, but rather lively – as if someone translated a calm moment into color. On the shore of Lake Constance, in the early light, this pattern doesn't stand out – it just fits.\u003c\/p\u003e\n\n\u003cp\u003eThe leaf shapes draw the eye lengthwise and gently direct focus. The paint splatter element breaks up the strictness of the pattern – not wildly, but subtly. Together with the one-piece cut, a silhouette is created that supports a lot without showing that it does. The swimsuit can be put on without a second thought – it quietly takes care of the rest.\u003c\/p\u003e\n\n\u003cp\u003eIn the morning by the lake, when the water is still cool and you slowly wade in: The motif lies flat, nothing pulls. In the afternoon on the towel, getting up after a short nap: The fabric follows your movement without slipping. In the evening, one last dip in the outdoor pool – the pattern looks like it did at the beginning of the day. For holidays, a day at the lake, or a summer Saturday at the outdoor pool.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• You get out of the water and don't have to adjust anything – the swimsuit still fits as before.\u003cbr\u003e• The leaf motif looks different in the water than on the beach – sometimes richer, sometimes brighter, depending on the light.\u003cbr\u003e• You pack it in your bag without much thought – it goes with almost everything.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eIf you're unsure if the cut and size are right: Our size calculator will help you.\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-bikini\"\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 (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_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\": 90.0, \"waist_min\": 68.0, \"waist_max\": 72.0, \"hip_min\": 94.0, \"hip_max\": 97.0}, {\"name\": \"M\", \"bust_min\": 91.0, \"bust_max\": 95.0, \"waist_min\": 73.0, \"waist_max\": 77.0, \"hip_min\": 98.0, \"hip_max\": 102.0}, {\"name\": \"L\", \"bust_min\": 96.0, \"bust_max\": 102.0, \"waist_min\": 78.0, \"waist_max\": 85.0, \"hip_min\": 102.0, \"hip_max\": 110.0}, {\"name\": \"XL\", \"bust_min\": 102.0, \"bust_max\": 110.0, \"waist_min\": 85.0, \"waist_max\": 92.0, \"hip_min\": 110.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\u003cdiv class=\"bn-quick-benefits\"\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e✔ Product type: One-piece swimsuit\u003c\/li\u003e\n\n\u003cli\u003e✔ Design: Paint splatter design with tropical leaf pattern\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\n\n\n\u003c\/div\u003e\n\n\u003cp class=\"bn-mini-cta\"\u003eIf the cut and size fit you, the Paint Splatter Leaf Motif Women's Swimsuit can feel significantly different in everyday life.\u003c\/p\u003e\n\n\u003cdiv class=\"bn-comfort\"\u003e\n\n\u003ch2\u003eWhen movement in the water unnecessarily creates restlessness\u003c\/h2\u003e\n\n\u003cp class=\"bn-subheadline\"\u003eStays put, subtly noticeable – for beach days that just work.\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\u003eYour swimsuit doesn't fit properly after the first swim\u003c\/li\u003e\n\n\u003cli\u003eThe cut pinches exactly where you least need it\u003c\/li\u003e\n\n\u003cli\u003eThe pattern already looks tired after two weeks of vacation\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\u003cp\u003eYou stand at the edge of the pool, jump in – and when you resurface, you automatically adjust your top. Not because it's necessary, but because you're used to it. That small adjustment that adds up throughout the day.\u003c\/p\u003e\n\n\u003cp\u003eWith many swimsuits, it's the combination of cut and material allowance: too little give during movement, too much in the wrong place. The swimsuit with a paint splatter leaf motif is designed for a secure fit during normal movement in the water – when swimming, jumping in, or getting out of the water.\u003c\/p\u003e\n\n\u003cp\u003eIt can help you think less about the fit – and more about the day. However, if you plan very intensive water sports or competitive swimming, it is less designed for that – there are cuts that are even more specifically tailored to these demands. For a calm beach day, a vacation by the sea, or an afternoon at the lake, it is a solid option. \u003cbr\u003e\u003cbr\u003eIf you prefer simple, solid-colored designs, the paint splatter motif might not be your style – in that case, it's worth taking a look at our plain models.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eAre you wondering if the cut suits your figure or how it feels when moving?\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 available options and decide at your leisure.\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→ Stays put even after a long day at the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Leaf motif looks different in the water than on the beach – more vibrant depending on the light\u003c\/li\u003e\n\n\u003cli\u003e→ Subtle design that fits many vacation situations without overthinking\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✅ One-piece cut, designed for a secure fit during normal movement in the water\u003c\/li\u003e\n\n\u003cli\u003e✅ Subtle paint splatter leaf motif – lively without being obtrusive\u003c\/li\u003e\n\n\u003cli\u003e✅ Can help subtly shape the tummy and hips\u003c\/li\u003e\n\n\u003cli\u003e✅ Designed for lakes, outdoor pools, and beach holidays\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 plain, simple models may find the pattern too lively\u003c\/li\u003e\n\n\u003cli\u003e⚠️ Material information is currently not fully available – please observe care instructions\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✅ Paint Splatter Leaf Motif Women's Swimsuit\u003c\/span\u003e\u003c\/th\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eTop slips with the first movement in the water\u003c\/td\u003e\n\n\u003ctd\u003eOne-piece cut, designed for a more stable fit even with normal movement\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eCut pinches at the waistband or straps after prolonged wear\u003c\/td\u003e\n\n\u003ctd\u003eDesigned for comfortable wear throughout the beach day – not just for short moments\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003ePattern looks washed out after summer\u003c\/td\u003e\n\n\u003ctd\u003eObserve care recommendations: rinse briefly after wearing, gentle wash\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOnline size rarely fits on the first try\u003c\/td\u003e\n\n\u003ctd\u003eSize calculator with height and weight helps with estimation\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've considered exactly these situations with the Paint Splatter Leaf Motif 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 Paint Splatter Leaf Motif 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\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\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\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\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, done. Delicate wash 30°C, do not tumble dry – observe care instructions for longer durability.\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\u003ePaint Splatter Leaf Motif Women's Swimsuit\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\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\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 Paint Splatter Leaf Motif Women's Swimsuit\u003c\/h3\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 for a swimsuit?\u003c\/h4\u003e\n\n\u003cdiv itemscope=\"\" itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n\u003cp itemprop=\"text\"\u003eSince swimsuits can vary in size depending on the cut, we recommend entering your height and weight into our size calculator. If you are unsure between two sizes, it is worth choosing the larger option – especially if you prefer a more fitted feel.\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\"\u003eIs this leaf motif swimsuit suitable for tummy control?\u003c\/h4\u003e\n\n\u003cdiv itemscope=\"\" itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n\u003cp itemprop=\"text\"\u003eThe cut is designed to subtly shape the silhouette. The paint splatter leaf motif gently distracts the eye with its structure – this can help to draw less focus to the tummy and hips. We cannot promise a specific effect, as this depends heavily on individual body shape.\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 does the 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 secure fit during normal movement – when swimming, jumping in, and moving in the water. For very intensive water activities or competitive swimming, a specially designed sports swimsuit may be more suitable.\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 properly care for a swimsuit with a paint splatter design?\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. Then wash at 30°C on a delicate cycle. Do not tumble dry – hanging or lying flat to dry will keep the shape and colors beautiful for longer.\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\"\u003eIs this a simple swimsuit or does the pattern stand out a lot?\u003c\/h4\u003e\n\n\u003cdiv itemscope=\"\" itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n\u003cp itemprop=\"text\"\u003eThe paint splatter leaf motif is lively but not loud – it acts more like a textile texture than a large print. Those who truly prefer simple, solid colors may find a more suitable option in our plain models.\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\"\u003eWhere does this swimsuit come from – is it really a regional brand?\u003c\/h4\u003e\n\n\u003cdiv itemscope=\"\" itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n\u003cp itemprop=\"text\"\u003eThe swimsuit comes from the Bodenseemarke – a label from the Lake Constance region that focuses on understated, timeless design. The paint splatter leaf motif is part of this design line, which combines everyday practicality and calm aesthetics.\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\/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\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Paint splatter leaf motif at the edge of the pool against the light\" style=\"display: none;\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Swimsuit when getting out of the water – still fits like when jumping in\" 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 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\u003cp class=\"bn-loop-end\"\u003eIf you identify with the scenarios above, the Paint Splatter Leaf Motif 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\"\u003ePaint Splatter Leaf Motif Women's Swimsuit\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€40.99\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cbutton type=\"button\" class=\"bn-cta-button\"\u003eSelect 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 that the Paint Splatter Leaf Motif 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":"Yellow Suit \/ S","offer_id":54413483999500,"sku":"CJYJ204714101AZ","price":40.99,"currency_code":"EUR","in_stock":true},{"title":"Yellow Suit \/ M","offer_id":54413484032268,"sku":"CJYJ204714102BY","price":40.99,"currency_code":"EUR","in_stock":true},{"title":"Yellow Suit \/ L","offer_id":54413484065036,"sku":"CJYJ204714103CX","price":40.99,"currency_code":"EUR","in_stock":true},{"title":"Yellow Suit \/ XL","offer_id":54413484097804,"sku":"CJYJ204714104DW","price":40.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/one-piece-swimsuit-bild-2-am-strand.png?v=1776099618"},{"product_id":"badeanzug-damen-mit-hose-und-rock","title":"black peplum bikini","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\n  \u003cdiv class=\"bn-problem-hook\"\u003e\u003cp\u003eWhat makes a bikini stay put all day – without you having to think twice about it?\u003c\/p\u003e\u003c\/div\u003e\n\n  \u003cp class=\"bn-energy\"\u003ePerhaps you know that calm feeling when a bikini is just there – and doesn't constantly need readjusting.\u003c\/p\u003e\n\n  \u003cp class=\"bn-soft-reality\"\u003eOver the course of a day at the beach, you'll see if a bikini keeps up – or if you constantly have to keep an eye on it.\u003c\/p\u003e\n\n  \u003ch2\u003eBlack Tankini for Women – Black Bikini with Peplum for Beach and Lake\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003eWhat this bikini is made for:\u003c\/strong\u003e\u003cbr\u003e\nA peplum cut in black – a subtly feminine detail that allows the silhouette to flow softly without adding bulk. Fabric feel: smooth, light, snug.\u003c\/p\u003e\n\n\u003cp\u003eBlack swimwear has a calm of its own. Not because it's particularly striking, but because it doesn't stand out – leaving your view free for what's happening around you. The peplum gives this piece a feminine weight that doesn't impose itself. On the shores of Lake Constance, where the light falls flat over the water and the mood is more quiet than loud, this attitude fits well.\u003c\/p\u003e\n\n\u003cp\u003eThe top fits close to the body, the peplum falls lightly over the waistband – a line that doesn't constrict the hip, but rather accompanies it. Black remains black: no patterns, no distractions, just form. If you're looking for a bikini that feels the same on different beach days – whether pool, lake, or vacation – you'll find a calm base here. Combinable with almost any beach towel, any oversized shirt, any sunglasses.\u003c\/p\u003e\n\n\u003cp\u003eWhen you first step into the water, when the fabric briefly breathes out and then settles again. When you get up from your towel and don't have to readjust yourself. In the evening by the lake, when the bikini remains almost invisible under a light dress – and still knows its place. Three moments when you almost forget it. That's what we mean.\u003c\/p\u003e\n\n\u003ch3\u003eHow you'll notice it\u003c\/h3\u003e\n\n\u003cp\u003e• The fabric lies smoothly – no pulling, no shifting when walking on the beach.\u003cbr\u003e• The peplum provides support without pressure – you wear it without thinking about it.\u003cbr\u003e• Solid black: nothing that looks old after one season.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eChoose your size based on bust, waist, and hip – for a fit that 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 (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\": 86.36, \"bust_max\": 88.9, \"waist_min\": 66.0, \"waist_max\": 68.58, \"hip_min\": 92.71, \"hip_max\": 95.25}, {\"name\": \"M\", \"bust_min\": 91.44, \"bust_max\": 93.98, \"waist_min\": 71.12, \"waist_max\": 73.66, \"hip_min\": 97.79, \"hip_max\": 100.33}, {\"name\": \"L\", \"bust_min\": 97.79, \"bust_max\": 101.6, \"waist_min\": 77.47, \"waist_max\": 81.28, \"hip_min\": 104.14, \"hip_max\": 107.95}, {\"name\": \"XL\", \"bust_min\": 105.41, \"bust_max\": 109.22, \"waist_min\": 85.09, \"waist_max\": 88.9, \"hip_min\": 111.76, \"hip_max\": 115.57}]}];\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 (remaining percentage not specified – observe care instructions)\u003c\/li\u003e\n\n\u003cli\u003e✔ Cut: Bikini with peplum, bottom with waistband, close-fitting top\u003c\/li\u003e\n\n\u003cli\u003e✔ Size selection: separately by bust, waist, and hip\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 peplum can feel significantly different in everyday life.\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\"\u003eFit and cut that accompany your beach day – without constant adjustments.\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 after a while\u003c\/li\u003e\n\n\u003cli\u003eIt's hard to estimate size online\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n  \n  \u003cp\u003eThere are bikinis that fit well on the first day – and those that maintain that over an entire beach day. The difference often only shows itself the second time you go into the water: when the top starts to wander, the waistband rolls up, or you have to pause briefly to readjust yourself when getting up from the towel. Not a dramatic problem – but one that adds up.\u003c\/p\u003e\n\n\u003cp\u003eIt's often due to the interplay of cut and material: if elasticity and shape are not coordinated, the fabric reacts differently to movement than expected. Especially with bikinis bought online, there's the added fact that tops and bottoms often require different fits – and a one-size-fits-all rarely reflects that.\u003c\/p\u003e\n\n\u003cp\u003eThis black bikini with a peplum is designed for a calm fit during normal movement – walking, sitting, leisurely swimming. The top is designed to be snug, and the peplum gives the bottom some leeway without looseness. Top and bottom can be selected separately by bust, waist, and hip, accommodating different proportions. If you plan intensive water sports or need a lot of support while swimming, a sportier cut bikini or swimsuit with a sports back might be a more suitable choice.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eDoes the peplum cut suit the way you experience the beach or lake?\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\u003eChoose your size and check the fit – without time 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→ Still sits well even after a long day at the beach\u003c\/li\u003e\n\n\u003cli\u003e→ Top stays in place during leisurely 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 make a decision\u003c\/h3\u003e\n\n\u003cul class=\"bn-decision-pro\"\u003e\n\n\u003cli\u003e✅ Plain black – timelessly combinable, no patterns that go out of style\u003c\/li\u003e\n\n\u003cli\u003e✅ Peplum cut for a soft silhouette during normal activity\u003c\/li\u003e\n\n\u003cli\u003e✅ Top and bottom can be chosen separately by bust, waist, and hip\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⚠️ If you are looking for a lot of structural support or a sports-back closure, you will find suitable options elsewhere\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 items\u003c\/span\u003e\u003c\/th\u003e\n\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Black bikini with peplum\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\u003eClose-fitting top – designed for stable fit during movement in water\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003eOne size rarely fits both bust and hips simultaneously\u003c\/td\u003e\n\n\u003ctd\u003eSeparately selectable by bust, waist, and hip – for different proportions\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 – no guessing needed\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 bikini with peplum – so you'll 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 peplum 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, 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\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 with peplum\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 black bikini with peplum\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 peplum?\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 often require different fits, you can specify your bust, waist, and hips separately for this model. Our size calculator helps you estimate the right combination. If you're unsure between two sizes, we recommend choosing based on the largest 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\"\u003eWho is this black bikini with peplum suitable for on the beach and by the lake?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eIt's well-suited for calm beach days, swimming in the lake or pool, and vacations – anywhere a secure fit during normal movement is desired. For intensive water sports or competitive swimming, a sportier cut model with a sports back is 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\"\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\"\u003eAfter wearing, rinse briefly with clear, lukewarm water. If necessary, wash on a delicate cycle at 30 °C. Do not tumble dry – let it air dry flat. This helps maintain 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\"\u003eDoes the top stay put even 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 a stable fit during normal movement in the water. For very active activities like intensive swimming or water sports, a sportier cut may offer more support.\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 bikini with a peplum from a regular bikini?\u003c\/h4\u003e\n\n    \u003cdiv itemscope itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\"\u003e\n\n      \u003cp itemprop=\"text\"\u003eThe peplum is a short, flowing fabric ruffle at the bottom or top that softly follows the hip line. It gives the silhouette a feminine detail without constricting – and can help visually balance 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\"\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=\"Peplum falls softly over the waistband – clear, flowing line\" style=\"display:none\"\u003e\u003c\/span\u003e\u003cspan class=\"bn-visual-anchor\" data-visual-intent=\"Solid black: even, without shine or 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 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 recognize yourself in the scenarios above, the black bikini with peplum 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 peplum\u003c\/p\u003e\n\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€39.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 bikini with peplum 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 Bikini mit Schößchen\", \"brand\": {\"@type\": \"Brand\", \"name\": \"Bodenseemarke\"}, \"image\": \"https:\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/ac976eaa-f81f-4bb0-bf7d-7a629d50f1bf.png?v=1754025457\", \"category\": \"bikini\", \"offers\": {\"@type\": \"Offer\", \"availability\": \"https:\/\/schema.org\/InStock\", \"price\": \"39.99\", \"priceCurrency\": \"EUR\"}, \"additionalProperty\": [{\"@type\": \"PropertyValue\", \"name\": \"Pflegehinweis\", \"value\": \"Feinwäsche 30 °C, nicht im Trockner\"}]}\u003c\/script\u003e","brand":"Bodenseemarke","offers":[{"title":"Black \/ S","offer_id":54413488619788,"sku":"CJYJ224839501AZ","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ M","offer_id":54413488652556,"sku":"CJYJ224839502BY","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ L","offer_id":54413488685324,"sku":"CJYJ224839503CX","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ XL","offer_id":54413488718092,"sku":"CJYJ224839504DW","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Army Green \/ S","offer_id":54413489013004,"sku":"CJYJ224839513MN","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Army Green \/ M","offer_id":54413489045772,"sku":"CJYJ224839514NM","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Army Green \/ L","offer_id":54413489078540,"sku":"CJYJ224839515OL","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Army Green \/ XL","offer_id":54413489111308,"sku":"CJYJ224839516PK","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Dark Blue \/ S","offer_id":54413489144076,"sku":"CJYJ224839517QJ","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Dark Blue \/ M","offer_id":54413489176844,"sku":"CJYJ224839518RI","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Dark Blue \/ L","offer_id":54413489209612,"sku":"CJYJ224839519SH","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Dark Blue \/ XL","offer_id":54413489242380,"sku":"CJYJ224839520TG","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Color \/ S","offer_id":54413489275148,"sku":"CJYJ224839521UF","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Color \/ M","offer_id":54413489307916,"sku":"CJYJ224839522VE","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Color \/ L","offer_id":54413489340684,"sku":"CJYJ224839523WD","price":39.99,"currency_code":"EUR","in_stock":true},{"title":"Color \/ XL","offer_id":54413489373452,"sku":"CJYJ224839524XC","price":39.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/ac976eaa-f81f-4bb0-bf7d-7a629d50f1bf.png?v=1754025457"},{"product_id":"bikini-swimsuit-solid-color-flying-one-piece-swimsuit","title":"Badeanzug schwarz Rüschen","description":"\u003cdiv class=\"bn-product-copy\"\u003e\n\u003cdiv class=\"bn-problem-hook\"\u003e\n\u003cp\u003eKennst du den Moment, wenn du ans Wasser gehst und einfach ankommen willst?\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp class=\"bn-energy\"\u003eWeißt du noch, wie sich das anfühlt – wenn der Körper zur Ruhe kommt und die Umgebung plötzlich ganz nah ist?\u003c\/p\u003e\n\u003cp class=\"bn-soft-reality\"\u003eUnd wie wäre es, wenn das, was du trägst, dieses Gefühl nicht unterbricht, sondern einfach mitgeht?\u003c\/p\u003e\n\u003cdiv class=\"bn-comfort\"\u003e\n\u003ch2\u003eWenn genau dieses Gefühl den ganzen Tag mitgehen soll\u003c\/h2\u003e\n\u003cp class=\"bn-subheadline\"\u003eEin einteiliger Badeanzug, der sich dem Körper anpasst – nicht umgekehrt.\u003c\/p\u003e\n\u003cdiv class=\"bn-questions\"\u003e\n\u003ch3\u003eWenn du dich hier wiedererkennst\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRüschen, die nach dem ersten Sprung ins Wasser ihren Platz verlieren\u003c\/li\u003e\n\u003cli\u003eTaillendetails, die auf dem Foto wirken, am Körper aber auftragen\u003c\/li\u003e\n\u003cli\u003eSchwarz, das nach wenigen Saisons stumpf oder ausgeleiert wirkt\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cp\u003eDu bist angekommen. Die Hitze hat nachgelassen, das Wasser war gut – und jetzt sitzt du auf der Liege, den Badeanzug noch nass, und es stört nichts. Kein Hochziehen, kein Nachkorrigieren. Die Rüschen liegen, das Taillenband sitzt, der Stoff trocknet am Körper. Genau dieses Gefühl beschreiben viele Trägerinnen ähnlicher Modelle: nicht als Überraschung, sondern als Erleichterung.\u003c\/p\u003e\n\u003cp\u003eDas kommt vom Materialmix: 82 % Polyester, 18 % Elasthan. Das Elasthan gibt nach – und kommt zurück. Beim Schwimmen, beim Aufstehen, beim Gehen. Der Schnitt ist eng anliegend (fitted\/bodycon), der Beinausschnitt hoch – das hält die Proportion, auch nach Bewegung. Das horizontale Taillenband ist als eigenes Schnittteil eingenäht, kein aufgedruckter Effekt, sondern eine konstruktive Linie, die bleibt.\u003c\/p\u003e\n\u003cp\u003eWenn du einen Badeanzug suchst, der eher sportlich-glatt und ohne Details auskommt, ist dieser Schnitt möglicherweise nicht dein Stil – die Rüschen und das Taillenband sind bewusst gesetzte Elemente, kein dezentes Minimum. Wer eine ruhigere Optik bevorzugt, findet in einem schlichten Einteiligen ohne Aufsatz evtl. mehr Passgenauigkeit.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ePasst dir die Kombination aus tiefem V, Rüschenlage und definiertem Taillenband zu dem, wie du dich am Wasser zeigen möchtest?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eUnser Größenrechner hilft dir, Schnitt und Größe einzuschätzen – gib Körpergröße und Gewicht ein.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eSchau in Ruhe – und entscheide dann.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-size-calculator\"\u003e\n\u003ch3\u003e📏 Größenrechner\u003c\/h3\u003e\n\u003cp class=\"bn-calc-subtitle\"\u003eFinde deine perfekte Größe\u003c\/p\u003e\n\u003cdiv id=\"bn-calc-form-badeanzug\" class=\"bn-calc-form\"\u003e\n\u003cdiv class=\"bn-calc-field\"\u003e\n\u003clabel for=\"bn_height\"\u003eKörpergröße (cm)\u003c\/label\u003e \u003cinput placeholder=\"z.B. 175\" name=\"bn_height\" id=\"bn_height\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-calc-field\"\u003e\n\u003clabel for=\"bn_weight\"\u003eGewicht (kg)\u003c\/label\u003e \u003cinput placeholder=\"z.B. 70\" name=\"bn_weight\" id=\"bn_weight\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-calc-field\"\u003e\n\u003clabel for=\"bn_bust\"\u003eBrustumfang (cm) (optional)\u003c\/label\u003e \u003cinput placeholder=\"z.B. 90\" name=\"bn_bust\" id=\"bn_bust\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"bn-calc-button\" type=\"button\"\u003eGröße berechnen\u003c\/button\u003e\n\u003cdiv class=\"bn-calc-result\" id=\"bn-calc-result\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\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\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\": 80.0, \"bust_max\": 86.0, \"waist_min\": 60.0, \"waist_max\": 66.0, \"hip_min\": 85.0, \"hip_max\": 91.0}, {\"name\": \"M\", \"bust_min\": 85.0, \"bust_max\": 91.0, \"waist_min\": 65.0, \"waist_max\": 71.0, \"hip_min\": 90.0, \"hip_max\": 96.0}, {\"name\": \"L\", \"bust_min\": 90.0, \"bust_max\": 96.0, \"waist_min\": 70.0, \"waist_max\": 76.0, \"hip_min\": 95.0, \"hip_max\": 101.0}, {\"name\": \"XL\", \"bust_min\": 95.0, \"bust_max\": 101.0, \"waist_min\": 75.0, \"waist_max\": 81.0, \"hip_min\": 100.0, \"hip_max\": 106.0}, {\"name\": \"XXL\", \"bust_min\": 100.0, \"bust_max\": 106.0, \"waist_min\": 80.0, \"waist_max\": 86.0, \"hip_min\": 105.0, \"hip_max\": 111.0}, {\"name\": \"3XL\", \"bust_min\": 105.0, \"bust_max\": 111.0, \"waist_min\": 85.0, \"waist_max\": 91.0, \"hip_min\": 110.0, \"hip_max\": 116.0}, {\"name\": \"4XL\", \"bust_min\": 110.0, \"bust_max\": 116.0, \"waist_min\": 90.0, \"waist_max\": 96.0, \"hip_min\": 115.0, \"hip_max\": 121.0}, {\"name\": \"5XL\", \"bust_min\": 115.0, \"bust_max\": 121.0, \"waist_min\": 95.0, \"waist_max\": 101.0, \"hip_min\": 120.0, \"hip_max\": 126.0}, {\"name\": \"6XL\", \"bust_min\": 120.0, \"bust_max\": 126.0, \"waist_min\": 100.0, \"waist_max\": 106.0, \"hip_min\": 125.0, \"hip_max\": 131.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-social-proof\"\u003e\n\u003ch3\u003eViele achten besonders auf\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e→ sitzt auch nach dem Schwimmen meist ruhig – kein Nachziehen\u003c\/li\u003e\n\u003cli\u003e→ Rüschen liegen am Körper weicher an als erwartet\u003c\/li\u003e\n\u003cli\u003e→ Taillenband gibt dem Körper eine klare Mitte, ohne einzuengen\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-decision-anchor\"\u003e\n\u003ch3\u003eDas hilft dir bei der Entscheidung\u003c\/h3\u003e\n\u003cul class=\"bn-decision-pro\"\u003e\n\u003cli\u003e✅ Fließende, mehrlagige Rüschenleiste am V-Ausschnitt – weich anliegend, bei normaler Bewegung ruhig sitzend\u003c\/li\u003e\n\u003cli\u003e✅ Horizontales Taillenband als eigenes Schnittteil – setzt eine klare Linie auf Taillenhöhe\u003c\/li\u003e\n\u003cli\u003e✅ 82 % Polyester, 18 % Elasthan – ausgelegt für Formhaltigkeit bei Badebewegungen\u003c\/li\u003e\n\u003cli\u003e✅ Mattes Schwarz, kein Glanz – zeitlose Optik, kombinierbar mit Strand und Café\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul class=\"bn-decision-contra\"\u003e\n\u003cli\u003e⚠️ Nicht ausgelegt für intensiven Wassersport oder Bahnenziehen – eher für Urlaub, See, Pool\u003c\/li\u003e\n\u003cli\u003e⚠️ Wer eine glatte, detaillose Optik bevorzugt, findet in einem schlichten Einteiligen evtl. mehr Passgenauigkeit\u003c\/li\u003e\n\u003cli\u003e⚠️ Rüschen sind ein bewusstes Gestaltungsmerkmal – für Trägerinnen, die Rüschen als auftragend empfinden, könnte das Modell nicht passen\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-compare\"\u003e\n\u003cdiv class=\"bn-compare-header\"\u003e\n\u003cspan class=\"bn-compare-icon\"\u003e⚖️\u003c\/span\u003e\n\u003ch3\u003eTypische Unterschiede\u003c\/h3\u003e\n\u003cp class=\"bn-compare-sub\"\u003eWas viele bei ähnlichen Produkten bemängeln – und worauf dieses ausgelegt ist.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth\u003e\u003cspan class=\"bn-compare-th-other\"\u003e❌ Typisch bei ähnlichen\u003c\/span\u003e\u003c\/th\u003e\n\u003cth\u003e\u003cspan class=\"bn-compare-th-this\"\u003e✅ Badeanzug schwarz Rüschen\u003c\/span\u003e\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBadeanzüge drücken am Bauch und zeichnen nach dem Sitzen sofort wieder ab\u003c\/td\u003e\n\u003ctd\u003eDas horizontale Taillenband ist ein eingenähtes Schnittteil – es definiert die Taille strukturell, ohne zu drücken oder zu verrutschen\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTräger schneiden bei Nässe ein oder geben nach\u003c\/td\u003e\n\u003ctd\u003eDer Elasthan-Anteil ist auf Formhaltigkeit ausgelegt – die mittelbreiten Träger (ca. 2–3 cm) können dazu beitragen, dass der Sitz nach dem Schwimmen bleibt\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRüschen wirken auf dem Foto gut, tragen am Körper aber auf\u003c\/td\u003e\n\u003ctd\u003eDie Lagen sind schräg geschnitten mit fließendem Rand – weich anliegend, nicht steif oder aufgestellt, durch das matte Schwarz optisch ruhiger\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSchwarz verliert nach einer Saison Tiefe oder wirkt stumpf\u003c\/td\u003e\n\u003ctd\u003ePolyester-Anteil von 82 % ist auf Farbbeständigkeit ausgelegt – bei sachgemäßer Pflege (30 °C Feinwäsche, nicht Trockner) bleibt das Schwarz in der Regel stabil\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp class=\"bn-mini-cta\"\u003eWenn dich das überzeugt: Hier siehst du, was Badeanzug schwarz Rüschen im Detail ausmacht.\u003c\/p\u003e\n\u003ch2\u003eSchwarzer Badeanzug Damen mit Rüschen – einteilig für See, Pool und Urlaub\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eWofür dieser Badeanzug gemacht ist:\u003c\/strong\u003e\u003cbr\u003eTief-V-Ausschnitt mit mehrlagiger Rüschenleiste – weich fließend, nicht steif – und ein horizontales Taillenband, das eine klare Linie setzt. Mattes Schwarz, Polyester-Elasthan, liegt glatt an.\u003c\/p\u003e\n\u003cp\u003eDer erste Blick fällt auf die Rüschen. Sie starten am tiefsten Punkt des V-Ausschnitts und fächern sich in zwei bis drei Lagen über die Brust – jede Lage schräg geschnitten, mit einer leichten Bewegung, die auf dem Foto kaum einzufangen ist und sich erst am Körper zeigt. Das matte Schwarz schluckt das Licht, kein Glanz, keine Reflexion – das gibt dem Ganzen eine ruhige Präsenz, die weder zu sportlich noch zu festlich wirkt.\u003c\/p\u003e\n\u003cp\u003eDas horizontale Taillenband – ein separates Schnittteil, etwa vier bis fünf Zentimeter breit, direkt auf Taillenhöhe eingenäht – setzt eine horizontale Linie, die den Körper optisch gliedert. Darunter liegt der Stoff glatt und körpernah an, der Beinausschnitt ist hoch geschnitten. Wer Rüschen oft als zu verspielt empfindet, wird hier merken, dass die Kombi aus tiefem Schwarz und fließendem Schnitt den Rüschen eine andere Wirkung gibt – weicher als festlich, klarer als romantisch.\u003c\/p\u003e\n\u003cp\u003eAm Bodenseeufer, kurz bevor man ins Wasser geht: das Taillenband sitzt, die Rüschen liegen flach an. Nach dem Schwimmen, auf dem Weg zurück zur Liege: derselbe Sitz, kein Nachziehen. Oder als Strandlook, wenn man mittags im Café sitzt und den Badeanzug einfach so trägt – Schwarz macht das möglich.\u003c\/p\u003e\n\u003ch3\u003eWoran du es merkst\u003c\/h3\u003e\n\u003cp\u003e• Die Rüschen bewegen sich beim Gehen leicht – nicht steif, nicht flatternd, sondern mit. • Das Taillenband gibt dem Körper eine Mitte, ohne zu drücken. • Schwarz bleibt schwarz – kein Ausbleichen durch das Motiv, keine Farbe, die ablenkt.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWenn du magst, schau wie er auf den Produktfotos im Licht wirkt – das matte Schwarz zeigt sich dort am deutlichsten.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp class=\"bn-loop\"\u003eGenau solche Situationen haben wir bei Badeanzug schwarz Rüschen mitgedacht – damit du beim Tragen weniger nachjustieren musst.\u003c\/p\u003e\n\u003cdiv class=\"bn-lupe\"\u003e\n\u003ch3\u003eSo fühlt sich Badeanzug schwarz Rüschen im Alltag an\u003c\/h3\u003e\n\u003cp class=\"bn-lupe-intro\"\u003eKonkrete Momente, in denen du merkst: Das passt.\u003c\/p\u003e\n\u003cdiv class=\"bn-lupe-item\"\u003e\n\u003cdiv class=\"bn-lupe-icon\"\u003e💧\u003c\/div\u003e\n\u003cdiv class=\"bn-lupe-content\"\u003e\n\u003ch4\u003eIm Wasser\u003c\/h4\u003e\n\u003cp\u003eDer Schnitt ist auf stabilen Sitz ausgelegt – auch bei Bewegung.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-lupe-item\"\u003e\n\u003cdiv class=\"bn-lupe-icon\"\u003e🌊\u003c\/div\u003e\n\u003cdiv class=\"bn-lupe-content\"\u003e\n\u003ch4\u003eNach dem Schwimmen\u003c\/h4\u003e\n\u003cp\u003eDas Material trocknet schnell. Kein schweres, nasses Gefühl auf der Haut.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-lupe-item\"\u003e\n\u003cdiv class=\"bn-lupe-icon\"\u003e☀️\u003c\/div\u003e\n\u003cdiv class=\"bn-lupe-content\"\u003e\n\u003ch4\u003eAm Strand\u003c\/h4\u003e\n\u003cp\u003eSalzwasser, Sonne, Sand: Der Stoff behält seine Form.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-lupe-item\"\u003e\n\u003cdiv class=\"bn-lupe-icon\"\u003e🧴\u003c\/div\u003e\n\u003cdiv class=\"bn-lupe-content\"\u003e\n\u003ch4\u003ePflege\u003c\/h4\u003e\n\u003cp\u003eKurz ausspülen, aufhängen, fertig.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-material\"\u003e\n\u003ch3\u003ePflege \u0026amp; Material\u003c\/h3\u003e\n\u003cdiv\u003e• Material: 82 % Polyester, 18 % Elasthan\u003cbr\u003e• Pflege: Nach dem Tragen kurz mit klarem Wasser ausspülen, Feinwäsche 30 °C, nicht im Trockner trocknen\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-quick-benefits\"\u003e\n\u003cul\u003e\n\u003cli\u003e✔ Material: 82 % Polyester, 18 % Elasthan\u003c\/li\u003e\n\u003cli\u003e✔ Schnitt: einteilig, fitted\/bodycon, hoher Beinausschnitt, tiefes V mit mehrlagiger Rüschenleiste, horizontales Taillenband\u003c\/li\u003e\n\u003cli\u003e✔ Pflege: nach dem Tragen kurz mit klarem Wasser ausspülen, Feinwäsche 30 °C, nicht im Trockner trocknen\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-target\"\u003e\n\u003ch3\u003eKann gut passen, wenn ...\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e→ Du suchst einen \u003cstrong\u003eBadeanzug\u003c\/strong\u003e, der beim Schwimmen sicher sitzt\u003c\/li\u003e\n\u003cli\u003e→ Du magst \u003cstrong\u003eschlichte Schnitte\u003c\/strong\u003e ohne überflüssige Details\u003c\/li\u003e\n\u003cli\u003e→ Du legst Wert auf \u003cstrong\u003eKomfort\u003c\/strong\u003e – im Wasser und danach\u003c\/li\u003e\n\u003cli\u003e→ Du möchtest \u003cstrong\u003eFehlkäufe vermeiden\u003c\/strong\u003e durch klare Größenangaben\u003c\/li\u003e\n\u003cli\u003e→ Du kaufst \u003cstrong\u003ebewusst\u003c\/strong\u003e statt auf Verdacht\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-specs\"\u003e\n\u003ch3\u003eProduktdetails auf einen Blick\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003ePflege:\u003c\/strong\u003e Feinwäsche 30°C, nicht im Trockner\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEigenschaften:\u003c\/strong\u003e Blickdicht, schnelltrocknend\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEinsatzbereich:\u003c\/strong\u003e Schwimmen, Strand, Pool – nach dem Baden ausspülen empfohlen\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePassform:\u003c\/strong\u003e Einteilig, figurbetont, sicherer Halt\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/FAQPage\" itemscope=\"\" class=\"bn-faq\"\u003e\n\u003ch3\u003eHäufig gestellte Fragen zu Badeanzug schwarz Rüschen\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch4 itemprop=\"name\"\u003eWie sitzt der schwarze Badeanzug mit Rüschen bei Bewegung im Wasser?\u003c\/h4\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp itemprop=\"text\"\u003eDer Schnitt ist eng anliegend (fitted\/bodycon) mit Elasthan-Anteil. Das Material gibt bei Bewegung nach und kehrt in der Regel zurück. Die Rüschen sind weich und liegen flach an – sie neigen nicht zum Aufstellen. Bei normaler Schwimm- und Badebewegung bleibt der Sitz in der Regel ruhig.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch4 itemprop=\"name\"\u003eWie finde ich die richtige Größe für diesen einteiligen Badeanzug?\u003c\/h4\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp itemprop=\"text\"\u003eBei eng anliegenden Schnitten wie diesem empfiehlt sich, die eigene Körpergröße und das Gewicht in unseren Größenrechner einzugeben. Wer zwischen zwei Größen liegt, wählt bei diesem Modell in der Regel die größere Variante für mehr Bewegungsfreiheit.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch4 itemprop=\"name\"\u003eWie pflege ich den Badeanzug nach dem Baden richtig?\u003c\/h4\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp itemprop=\"text\"\u003eNach dem Tragen kurz mit klarem, lauwarmem Wasser ausspülen, um Rückstände zu entfernen. Dann im Feinwaschgang bei 30 °C waschen. Nicht im Trockner trocknen – liegend an der Luft trocknen lassen hält Form und Elastizität länger.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch4 itemprop=\"name\"\u003eTrägt die Rüsche am Dekolleté auf oder wirkt sie flacher am Körper?\u003c\/h4\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp itemprop=\"text\"\u003eDie Rüschenlagen sind schräg oder mit fließendem Rand geschnitten – sie liegen weich an, nicht aufgestellt. Am Körper wirken sie durch das matte Schwarz weniger voluminös als auf den ersten Blick. Wer bei Rüschen unsicher ist, ob sie optisch auftragen: Das Detail liegt am oberen Brustbereich, nicht am Bauch.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch4 itemprop=\"name\"\u003eEignet sich der elegante Rüschen-Badeanzug schwarz auch für intensiveren Wassersport?\u003c\/h4\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp itemprop=\"text\"\u003eDieser Badeanzug ist auf einen figurnahen, femininen Sitz ausgelegt – nicht primär auf sportliche Belastung wie Bahnenziehen oder intensiven Wassersport. Für ruhiges Schwimmen, Urlaub, See und Strand ist er konzipiert. Für Sport-Badeanzüge mit maximalem Halt gibt es Modelle mit stabilerer Rückenpartie und festeren Trägern.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch4 itemprop=\"name\"\u003eWie wirkt der schwarze Badeanzug mit Rüschen am Bodensee oder im Freibad?\u003c\/h4\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp itemprop=\"text\"\u003eDas matte Schwarz und die fließenden Rüschen wirken in natürlichem Licht ruhig und klar. Das horizontale Taillenband gliedert die Silhouette optisch. Der Look passt zum ruhigen, zeitlosen Stil regionaler Bademode – weder zu sportlich noch zu festlich.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-related-articles\"\u003e\n\u003ch3\u003eRatgeber\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-mit-bauchweg-effekt-im-sale\"\u003eBadeanzüge mit Bauchweg-Effekt im Sale\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzuge-die-den-bauch-kaschieren\"\u003eBadeanzüge, die den Bauch kaschieren\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"\/en\/blogs\/badeanzug-damen\/badeanzug-frauen\"\u003eBadeanzug Frauen\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cspan style=\"display: none;\" data-visual-intent=\"Mehrlagige Rüschenleiste am V-Ausschnitt – wie sie bei Bewegung fächert\" class=\"bn-visual-anchor\"\u003e\u003c\/span\u003e\u003cspan style=\"display: none;\" data-visual-intent=\"Horizontales Taillenband in der Draufsicht – die klare Linie auf Taillenhöhe\" class=\"bn-visual-anchor\"\u003e\u003c\/span\u003e\n\u003cdetails class=\"bn-ship\"\u003e\n\u003csummary\u003eLieferung\u003c\/summary\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"bn-shipping-info\"\u003e\n\u003ch4\u003e📦 Lieferzeit\u003c\/h4\u003e\n\u003cp\u003e\u003cstrong\u003e5–11 Tage\u003c\/strong\u003e nach Bestelleingang\u003c\/p\u003e\n\u003cp style=\"font-size: 0.9rem; color: #6b7280; margin-top: 8px;\"\u003eWir produzieren auf Bestellung – das reduziert Überproduktion und Lagerware, bei bedruckter Ware!\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdiv class=\"bn-return-policy\"\u003eOhne Druck bestellen. 30 Tage Zeit zum Entscheiden.\u003c\/div\u003e\n\u003cdiv class=\"bn-source\"\u003e\u003csmall class=\"bn-source\"\u003eQuelle: Bodenseemarke – Angaben geprüft i. S. d. EU-GPSR.\u003cbr\u003eHersteller: Eugen Noll Bodenseemarke GbR, Zaunkönigweg 8, 88048 Friedrichshafen, DE, info@bodenseemarke.com\u003c\/small\u003e\u003c\/div\u003e\n\u003cp class=\"bn-loop-end\"\u003eWenn du dich in den Szenen oben wiederfindest, kann Badeanzug schwarz Rüschen eine passende Option sein.\u003c\/p\u003e\n\u003cdiv class=\"bn-bottom-cta\"\u003e\n\u003cp class=\"bn-cta-title\"\u003eBadeanzug schwarz Rüschen\u003c\/p\u003e\n\u003cp class=\"bn-cta-price\"\u003e\u003cspan class=\"bn-cta-current\"\u003e€25.99\u003c\/span\u003e\u003c\/p\u003e\n\u003cbutton class=\"bn-cta-button\" type=\"button\"\u003eGröße wählen \u0026amp; bestellen ↑\u003c\/button\u003e\n\u003cp class=\"bn-cta-trust\"\u003eOhne Druck bestellen. 30 Tage Zeit zum Entscheiden.\u003c\/p\u003e\n\u003cp class=\"bn-cta-stars\"\u003e★★★★★\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bn-closing-note\"\u003e\n\u003cp\u003eAm Ende geht es nicht um das Kleidungsstück selbst, sondern um die Momente, die du darin erlebst. Wir hoffen, dass Badeanzug schwarz Rüschen dich dabei genau so begleiten kann, wie du es dir wünschst.\u003c\/p\u003e\n\u003cp style=\"font-size: 0.9rem; margin-top: 1rem; font-style: normal;\"\u003e\u003ca style=\"color: #3b82f6; text-decoration: none; font-weight: 500;\" href=\"\/en\/pages\/uber-uns\"\u003eUnsere Philosophie erfahren →\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003csmall class=\"bn-updated\"\u003eZuletzt aktualisiert: 19.07.2026\u003c\/small\u003e\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":"Black \/ L","offer_id":54869885780236,"sku":"CJNT208715415OL","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ M","offer_id":54869885813004,"sku":"CJNT208715414NM","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ S","offer_id":54869885845772,"sku":"CJNT208715413MN","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ XL","offer_id":54869885878540,"sku":"CJNT208715416PK","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Green \/ L","offer_id":54869885911308,"sku":"CJNT208715411KP","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Green \/ M","offer_id":54869885944076,"sku":"CJNT208715410JQ","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Green \/ S","offer_id":54869885976844,"sku":"CJNT208715409IR","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Green \/ XL","offer_id":54869886009612,"sku":"CJNT208715412LO","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ L","offer_id":54869886042380,"sku":"CJNT208715403CX","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ M","offer_id":54869886075148,"sku":"CJNT208715402BY","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ S","offer_id":54869886107916,"sku":"CJNT208715401AZ","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Pink \/ XL","offer_id":54869886140684,"sku":"CJNT208715404DW","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Red \/ L","offer_id":54869886173452,"sku":"CJNT208715407GT","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Red \/ M","offer_id":54869886206220,"sku":"CJNT208715406FU","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Red \/ S","offer_id":54869886238988,"sku":"CJNT208715405EV","price":25.99,"currency_code":"EUR","in_stock":true},{"title":"Red \/ XL","offer_id":54869886271756,"sku":"CJNT208715408HS","price":25.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/files\/2c83a650-cb2e-4eac-b769-74927b8c4d8d.jpg?v=1784120030"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0528\/5635\/7044\/collections\/WhatsApp_Image_2026-06-03_at_11.21.28.jpg?v=1780478577","url":"https:\/\/www.bodenseemarke.com\/en\/collections\/badeanzug-damen.oembed?page=2","provider":"Bodenseemarke","version":"1.0","type":"link"}