FREE UK DELIVERY ENDS SUNDAY! Code: FREESHIP

Collection: FRILLS & RUFFLES

36 products
  • PALOMA SWIMSUIT
    LUXE BRIDAL RIB TULLE ONE SHOULDER BELTED SWIMSUIT
    Regular price
    £140.00
    Sale price
    £140.00
  • MONACO SWIMSUIT
    PREMIUM WHITE ASSYMETRICAL RUFFLE SWIMSUIT
    Regular price
    £120.00
    Sale price
    £120.00
  • CHLOEE SWIMSUIT
    CHLOE WHITE TULLE RUFFLE ONE SHOULDER SWIMSUIT
    Regular price
    £140.00
    Sale price
    £140.00
  • IVY SET
    NUDE PLEAT LAYER SLEEVE CO ORD
    Regular price
    £95.00
    Sale price
    £95.00
  • SORRENTO SWIMSUIT
    BLACK ASSYMETRICAL RUFFLE SWIMSUIT
    Regular price
    £99.00
    Sale price
    £99.00
  • SORRENTO SWIMSUIT
    ONE SHOULDER RUFFLE SWIMSUIT
    Regular price
    £99.00
    Sale price
    £99.00
  • SORRENTO SWIMSUIT
    NUDE ASSYMETRICAL RUFFLE SWIMSUIT
    Regular price
    £99.00
    Sale price
    £99.00
  • SORRENTO SWIMSUIT
    WHITE ASSYMETRICAL RUFFLE SWIMSUIT
    Regular price
    £120.00
    Sale price
    £120.00
  • SORRENTO SWIMSUIT
    ORGANZA ASSYMETRICAL RUFFLE SWIMSUIT
    Regular price
    £99.00
    Sale price
    £99.00
  • SARELLA SET
    PREMIUM RUFFLE SLEEVE SKIRT SET IN OUR LUXE CRINKLE
    Regular price
    £95.00
    Sale price
    £95.00
  • SOFIA BIKINI
    Regular price
    £50.00
    Sale price
    £50.00
  • TILLY SWIMSUIT
    WHITE LACE SCOOP BACK SWIMSUIT
    Regular price
    £85.00
    Sale price
    £85.00
  • SASHA BIKINI
    Regular price
    £15.00
    Sale price
    £15.00
  • PARIS SWIMSUIT
    Regular price
    £65.00
    Sale price
    £65.00
  • IVY SET
    PREMIUM CONTRAST LUXE RIB RUFFLE SLEEVE SKIRT SET
    Regular price
    £10.00
    Sale price
    £10.00
  • PARIS SWIMSUIT
    WHITE RUFFLE SIDE PLUNGE FRONT SWIMSUIT
    Regular price
    £65.00
    Sale price
    £65.00
  • SASHA BIKINI
    DOUBLE RUFFLE CROP RUCHED HIGH WAIST BIKINI
    Regular price
    £90.00
    Sale price
    £90.00
  • MYKONOS SWIMSUIT
    Regular price
    £120.00
    Sale price
    £120.00
  • STARBURST BIKINI
    Regular price
    £95.00
    Sale price
    £95.00
  • TILLY SWIMSUIT
    WHITE DOTTY MESH FRILL SCOOP BACK SWIMSUIT
    Regular price
    £85.00
    Sale price
    £85.00
  • SIERRA SWIMSUIT
    Regular price
    £130.00
    Sale price
    £130.00
  • MYKONOS BIKINI
    CONTRAST ASSYMETRIC WAFFLE RUFFLE TIE SHOULDER BIKINI
    Regular price
    £99.00
    Sale price
    £99.00
  • LILY BIKINI
    WHITE WAFFLE RUFFLE TRIANGLE BIKINI
    Regular price
    £70.00
    Sale price
    £70.00
  • ROSE BIKINI
    WHITE RUFFLE SHOULDER BELTED BIKINI
    Regular price
    £20.00
    Sale price
    £20.00
  • SIERRA SWIMSUIT
    WHITE RUFFLE PLUNGE FRONT SWIMSUIT
    Regular price
    £110.00
    Sale price
    £110.00
  • MONACO NUDE TULLE SWIMSUIT
    PREMIUM WHITE ASSYMETRICAL RUFFLE SWIMSUIT
    Regular price
    £120.00
    Sale price
    £120.00
  • SORRENTINO SWIMSUIT
    ASSYMETRICAL RUFFLE SWIMSUIT
    Regular price
    £120.00
    Sale price
    £120.00
  • MYKONOS BIKINI
    BLACK ASSYMETRICAL RUFFLE BIKINI
    Regular price
    £99.00
    Sale price
    £99.00
  • BALEARIC SWIMSUIT
    WHITE RUFFLE PLUNGE FRONT SWIMSUIT
    Regular price
    £150.00
    Sale price
    £150.00
  • SIERRA DOTTY SWIMSUIT
    WHITE RUFFLE PLUNGE FRONT SWIMSUIT
    Regular price
    £130.00
    Sale price
    £130.00
  • BRIDE SWIMSUIT
    CHLOE WHITE TULLE RUFFLE ONE SHOULDER SWIMSUIT
    Regular price
    £75.00
    Sale price
    £75.00
  • SIAN SWIMSUIT
    PALE BLUE ASSYMETRICAL RUFFLE SWIMSUIT
    Regular price
    £99.00
    Sale price
    £99.00
.product-single__title{ font-size: 10px !important; } .shopify-section-collection .section-header h2{ text-transform: capitalize; } document.addEventListener('DOMContentLoaded', function() { const productJson = document.querySelectorAll('[id`^`=ProductJson-'); if (productJson.length > 0) { for (let i = 0; i < productJson.length; i++) { const current = productJson[i]; const sectionId = current.id.replace('ProductJson-', ''); const section = document.querySelector('[data-section-id="' + sectionId + '"]'); const product = JSON.parse(current.text); if (product.options.length === 1) { const unavailableVariants = []; for (let j = 0; j < product.variants.length; j++) { const variant = product.variants[j]; if (!variant.available) { unavailableVariants.push(variant); } } if (unavailableVariants.length > 0) { const mutationCallback = function() { const variantOptions = section.querySelectorAll('.single-option-selector option'); if (variantOptions.length > 0) { for (let k = 0; k < unavailableVariants.length; k++) { const unavailableVariant = unavailableVariants[k]; for (let l = 0; l < variantOptions.length; l++) { const option = variantOptions[l]; if (unavailableVariant.title === option.value) { option.remove(); } } } if (typeof observer === 'object' && typeof observer.disconnect === 'function') { observer.disconnect(); } } } const observer = new MutationObserver(mutationCallback); const addToCartForm = document.querySelector('form[action*="/cart/add"]'); mutationCallback(); if (window.MutationObserver && addToCartForm.length) { const config = { childList: true, subtree: true }; if (typeof observer === 'object' && typeof observer.disconnect === 'function') { observer.disconnect(); } observer.observe(addToCartForm, config); } } } } } }); document.addEventListener('DOMContentLoaded', function() { const productJson = document.querySelectorAll('[id^=ProductJson-'); if (productJson.length > 0) { for (let i = 0; i < productJson.length; i++) { const current = productJson[i]; const sectionId = current.id.replace('ProductJson-', ''); const section = document.querySelector('[data-section-id="' + sectionId + '"]'); const product = JSON.parse(current.text); if (product.options.length === 1) { const unavailableVariants = []; for (let j = 0; j < product.variants.length; j++) { const variant = product.variants[j]; if (!variant.available) { unavailableVariants.push(variant); } } if (unavailableVariants.length > 0) { const mutationCallback = function() { const variantOptions = section.querySelectorAll('.single-option-selector option'); if (variantOptions.length > 0) { for (let k = 0; k < unavailableVariants.length; k++) { const unavailableVariant = unavailableVariants[k]; for (let l = 0; l < variantOptions.length; l++) { const option = variantOptions[l]; if (unavailableVariant.title === option.value) { option.remove(); } } } if (typeof observer === 'object' && typeof observer.disconnect === 'function') { observer.disconnect(); } } } const observer = new MutationObserver(mutationCallback); const addToCartForm = document.querySelector('form[action*="/cart/add"]'); mutationCallback(); if (window.MutationObserver && addToCartForm.length) { const config = { childList: true, subtree: true }; if (typeof observer === 'object' && typeof observer.disconnect === 'function') { observer.disconnect(); } observer.observe(addToCartForm, config); } } } } } });