{"product_id":"vivienne™-flowing-floral-maxi-dress","title":"VIVIENNE™ | Flowing Floral Maxi Dress","description":"\u003cstyle\u003e\n\/* ============================================\n   NORTH \u0026 BLOOM — PRODUCT PAGE ENHANCEMENTS\n   Mobile-first · Impulse-compatible\n============================================ *\/\n\n.nb-readmore-hidden {\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height 0.45s ease-in-out, opacity 0.35s ease-in-out;\n  opacity: 0;\n}\n.nb-readmore-hidden.is-open {\n  max-height: 2000px;\n  opacity: 1;\n}\n.nb-readmore-toggle {\n  display: inline-flex;\n  align-items: center;\n  gap: 4px;\n  margin-top: 10px;\n  background: none;\n  border: none;\n  padding: 0;\n  cursor: pointer;\n  font-size: 0.85rem;\n  letter-spacing: 0.04em;\n  color: #555;\n  font-family: inherit;\n}\n.nb-readmore-toggle:hover { color: #111; }\n.nb-readmore-arrow {\n  display: inline-block;\n  transition: transform 0.3s ease-in-out;\n  font-style: normal;\n}\n.nb-readmore-toggle.is-open .nb-readmore-arrow {\n  transform: rotate(90deg);\n}\n.nb-accordion {\n  border-top: 1px solid #e0e0e0;\n  margin-top: 0;\n}\n.nb-accordion:last-of-type {\n  border-bottom: 1px solid #e0e0e0;\n}\n.nb-accordion-trigger {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  width: 100%;\n  background: none;\n  border: none;\n  padding: 14px 0;\n  cursor: pointer;\n  font-family: inherit;\n  font-size: 0.9rem;\n  font-weight: 700;\n  letter-spacing: 0.03em;\n  color: #111;\n  text-align: left;\n}\n.nb-accordion-icon {\n  display: inline-block;\n  transition: transform 0.3s ease-in-out;\n  font-size: 1rem;\n  color: #555;\n}\n.nb-accordion-trigger.is-open .nb-accordion-icon {\n  transform: rotate(90deg);\n}\n.nb-accordion-body {\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height 0.45s ease-in-out, opacity 0.35s ease-in-out;\n  opacity: 0;\n}\n.nb-accordion-body.is-open {\n  max-height: 1600px;\n  opacity: 1;\n}\n.nb-accordion-body-inner {\n  padding-bottom: 14px;\n  font-size: 0.875rem;\n  color: #333;\n  line-height: 1.6;\n}\n.nb-care-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  margin-bottom: 8px;\n}\n.nb-care-row img { flex-shrink: 0; }\n.nb-trust-signals {\n  display: flex;\n  flex-direction: column;\n  gap: 5px;\n  margin-bottom: 16px;\n}\n.nb-trust-signals span {\n  font-size: 0.78rem;\n  color: #888;\n  letter-spacing: 0.03em;\n}\n.nb-reviews {\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n}\n.nb-review {\n  border-top: 1px solid #f0f0f0;\n  padding-top: 14px;\n}\n.nb-review-photo {\n  width: 100%;\n  max-width: 220px;\n  border-radius: 4px;\n  margin-bottom: 10px;\n  display: block;\n}\n.nb-review-name {\n  font-size: 0.82rem;\n  font-weight: 700;\n  color: #111;\n  margin-bottom: 3px;\n}\n.nb-review-stars {\n  color: #c9a96e;\n  font-size: 0.85rem;\n  margin-bottom: 5px;\n  letter-spacing: 1px;\n}\n.nb-review-text {\n  font-size: 0.83rem;\n  color: #444;\n  line-height: 1.55;\n}\n@media (min-width: 768px) {\n  .nb-reviews {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 20px;\n  }\n  .nb-review {\n    border-top: none;\n    border-left: 1px solid #f0f0f0;\n    padding-top: 0;\n    padding-left: 16px;\n  }\n  .nb-review:first-child {\n    border-left: none;\n    padding-left: 0;\n  }\n  .nb-trust-signals {\n    flex-direction: row;\n    gap: 20px;\n  }\n}\n\u003c\/style\u003e\n\n\u003c!-- ===== PRODUCT DESCRIPTION ===== --\u003e\n\u003cdiv class=\"nb-readmore-intro\"\u003e\n  \u003cp\u003e\u003cstrong\u003eElegant movement. Effortless beauty.\u003c\/strong\u003e\u003c\/p\u003e\n  \u003cp\u003eMeet the Vivienne™ — a soft and feminine maxi dress designed to flow beautifully with every step. Featuring a flattering wrap-inspired neckline, delicate pleated texture, and a romantic floral print, it creates an elegant silhouette that feels timeless and easy to wear.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cbutton class=\"nb-readmore-toggle\" id=\"nb-readmore-btn\" aria-expanded=\"false\" onclick=\"(function(){\n  var btn = document.getElementById('nb-readmore-btn');\n  var body = document.getElementById('nb-readmore-body');\n  var open = btn.classList.toggle('is-open');\n  body.classList.toggle('is-open', open);\n  btn.setAttribute('aria-expanded', open);\n  btn.querySelector('.nb-readmore-label').textContent = open ? 'Read less' : 'Read more';\n})()\"\u003e\n  \u003cem class=\"nb-readmore-arrow\"\u003e›\u003c\/em\u003e\n  \u003cspan class=\"nb-readmore-label\"\u003eRead more\u003c\/span\u003e\n\u003c\/button\u003e\n\n\u003cdiv class=\"nb-readmore-hidden\" id=\"nb-readmore-body\" aria-hidden=\"true\"\u003e\n  \u003cp\u003eLightweight, airy, and comfortable from morning to evening, this is the perfect dress for sunny days, vacations, dinners, and everything in between.\u003c\/p\u003e\n  \u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0871\/5052\/6799\/files\/l1_819a748d-8d19-4811-a759-94a799296097.png?v=1778144405\" alt=\"\" width=\"440\" height=\"587\"\u003e\u003c\/p\u003e\n  \u003cp\u003e\u003cstrong\u003eWhy you'll love it\u003c\/strong\u003e\u003c\/p\u003e\n  \u003cp\u003eFlowing maxi silhouette with graceful movement\u003cbr\u003eSoft pleated fabric for an elegant look\u003cbr\u003eBreathable lightweight feel for warm weather comfort\u003cbr\u003eElastic waist for a flattering feminine fit\u003cbr\u003eRomantic floral print with timeless charm\u003c\/p\u003e\n  \u003cp\u003e\u003cstrong\u003eMade to move with you\u003c\/strong\u003e\u003c\/p\u003e\n  \u003cp\u003eWhether you're walking through a seaside town, enjoying brunch with friends, or dressing up for an evening out — Vivienne™ brings effortless elegance to every moment.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== ACCORDION GROEP ===== --\u003e\n\u003cdiv style=\"margin-top:18px;\"\u003e\n\n  \u003c!-- Size \u0026 Fit --\u003e\n  \u003cdiv class=\"nb-accordion\"\u003e\n    \u003cbutton class=\"nb-accordion-trigger\" id=\"nb-acc-sizefit-btn\" aria-expanded=\"false\" onclick=\"(function(){\n      var btn = document.getElementById('nb-acc-sizefit-btn');\n      var body = document.getElementById('nb-acc-sizefit-body');\n      var open = btn.classList.toggle('is-open');\n      body.classList.toggle('is-open', open);\n      btn.setAttribute('aria-expanded', open);\n    })()\"\u003e\n      Size \u0026amp; Fit\n      \u003cem class=\"nb-accordion-icon\"\u003e›\u003c\/em\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"nb-accordion-body\" id=\"nb-acc-sizefit-body\"\u003e\n      \u003cdiv class=\"nb-accordion-body-inner\"\u003e\n        \u003cp\u003e\u003cspan\u003eFit Type\u003c\/span\u003e: \u003cspan\u003eRegular Fit\u003c\/span\u003e\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Care Instructions --\u003e\n  \u003cdiv class=\"nb-accordion\"\u003e\n    \u003cbutton class=\"nb-accordion-trigger\" id=\"nb-acc-care-btn\" aria-expanded=\"false\" onclick=\"(function(){\n      var btn = document.getElementById('nb-acc-care-btn');\n      var body = document.getElementById('nb-acc-care-body');\n      var open = btn.classList.toggle('is-open');\n      body.classList.toggle('is-open', open);\n      btn.setAttribute('aria-expanded', open);\n    })()\"\u003e\n      Care Instructions\n      \u003cem class=\"nb-accordion-icon\"\u003e›\u003c\/em\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"nb-accordion-body\" id=\"nb-acc-care-body\"\u003e\n      \u003cdiv class=\"nb-accordion-body-inner\"\u003e\n        \u003cdiv class=\"nb-care-row\"\u003e\n\u003cimg alt=\"Wash\" src=\"https:\/\/img.shopoases.com\/images\/6781496864d3b35a792a68a2c93568a7.png\" width=\"30\" height=\"30\"\u003e\u003cspan\u003eMaximum washing temperature 30°C\/86°F\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"nb-care-row\"\u003e\n\u003cimg alt=\"Bleach\" src=\"https:\/\/img.shopoases.com\/images\/37afa65853236b52e629c136b8097199.png\" width=\"30\" height=\"30\"\u003e\u003cspan\u003eDo not bleach\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"nb-care-row\"\u003e\n\u003cimg alt=\"Colors\" src=\"https:\/\/img.shopoases.com\/images\/4e0b2468f24e07221c3ced7e742401e6.png\" width=\"30\" height=\"30\"\u003e\u003cspan\u003eWash with similar colors\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"nb-care-row\"\u003e\n\u003cimg alt=\"Iron\" src=\"https:\/\/img.shopoases.com\/images\/f8fe93ef91c116269bdda7c7e35c4c1a.png\" width=\"30\" height=\"30\"\u003e\u003cspan\u003eIron at a maximum of 110°C\/230°F\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"nb-care-row\"\u003e\n\u003cimg alt=\"Dry clean\" src=\"https:\/\/img.shopoases.com\/images\/75e817990d8c3674f564c7c37a3645bc.png\" width=\"30\" height=\"30\"\u003e\u003cspan\u003eDo not dry clean\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- What Our Clients Say --\u003e\n  \u003cdiv class=\"nb-accordion\"\u003e\n    \u003cbutton class=\"nb-accordion-trigger\" id=\"nb-acc-testimonials-btn\" aria-expanded=\"false\" onclick=\"(function(){\n      var btn = document.getElementById('nb-acc-testimonials-btn');\n      var body = document.getElementById('nb-acc-testimonials-body');\n      var open = btn.classList.toggle('is-open');\n      body.classList.toggle('is-open', open);\n      btn.setAttribute('aria-expanded', open);\n    })()\"\u003e\n      What Our Clients Say\n      \u003cem class=\"nb-accordion-icon\"\u003e›\u003c\/em\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"nb-accordion-body\" id=\"nb-acc-testimonials-body\"\u003e\n      \u003cdiv class=\"nb-accordion-body-inner\"\u003e\n        \u003cdiv class=\"nb-trust-signals\"\u003e\n          \u003cspan\u003e✔ Loved by 5,000+ women across Canada\u003c\/span\u003e\n          \u003cspan\u003e✔ 4.8 average rating\u003c\/span\u003e\n          \u003cspan\u003e✔ 60-day money-back guarantee\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"nb-reviews\"\u003e\n\n          \u003c!-- r1: brunette, haar omhoog, 38+, woonkamerspiegel, blootsvoets, gouden armband, brede glimlach --\u003e\n          \u003cdiv class=\"nb-review\"\u003e\n            \u003cimg class=\"nb-review-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0871\/5052\/6799\/files\/r1_15778d00-48b4-4787-810c-3b5827736b10.png?v=1778145064\" alt=\"Customer photo - Megan\"\u003e\n            \u003cdiv class=\"nb-review-name\"\u003eMegan T., Ontario\u003c\/div\u003e\n            \u003cdiv class=\"nb-review-stars\"\u003e★★★★★\u003c\/div\u003e\n            \u003cdiv class=\"nb-review-text\"\u003eI put this on and didn't want to take it off. The pleated fabric is so soft and the wrap neckline is incredibly flattering. I wore it barefoot around the house first and then dressed it up for dinner — it works perfectly for both. Absolutely love it.\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003c!-- r2: grijsharige zwarte vrouw, 60+, woonkamer, sandalen, gouden ketting, stralend zelfverzekerd --\u003e\n          \u003cdiv class=\"nb-review\"\u003e\n            \u003cimg class=\"nb-review-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0871\/5052\/6799\/files\/r2_2c794fa6-57bc-4781-8791-5ea86f27d74d.png?v=1778145067\" alt=\"Customer photo - Denise\"\u003e\n            \u003cdiv class=\"nb-review-name\"\u003eDenise W., British Columbia\u003c\/div\u003e\n            \u003cdiv class=\"nb-review-stars\"\u003e★★★★★\u003c\/div\u003e\n            \u003cdiv class=\"nb-review-text\"\u003eAt 62, I want dresses that feel elegant without being fussy — and this one delivers. The length is perfect, the floral print is timeless, and it flows so beautifully when you walk. I wore it to a family gathering and felt genuinely beautiful all day.\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003c!-- r3: blonde vrouw, 55+, slaapkamerspiegel, sandalen, ketting, warme glimlach --\u003e\n          \u003cdiv class=\"nb-review\"\u003e\n            \u003cimg class=\"nb-review-photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0871\/5052\/6799\/files\/r3_b232fc6a-7403-49a7-9e58-f21e7b0e6e2e.png?v=1778145064\" alt=\"Customer photo - Christine\"\u003e\n            \u003cdiv class=\"nb-review-name\"\u003eChristine B., Alberta\u003c\/div\u003e\n            \u003cdiv class=\"nb-review-stars\"\u003e★★★★★\u003c\/div\u003e\n            \u003cdiv class=\"nb-review-text\"\u003eThis is hands down the most beautiful dress I've ordered online. The quality is impressive, the fit is flattering, and the pleated skirt moves like a dream. I've already worn it twice and have two more occasions planned. Worth every penny.\u003c\/div\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"North \u0026 Bloom","offers":[{"title":"S","offer_id":57640628060495,"sku":null,"price":69.95,"currency_code":"CAD","in_stock":true},{"title":"M","offer_id":57640628093263,"sku":null,"price":69.95,"currency_code":"CAD","in_stock":true},{"title":"L","offer_id":57640628126031,"sku":null,"price":69.95,"currency_code":"CAD","in_stock":true},{"title":"XL","offer_id":57640628158799,"sku":null,"price":69.95,"currency_code":"CAD","in_stock":true},{"title":"2XL","offer_id":57640628191567,"sku":null,"price":69.95,"currency_code":"CAD","in_stock":true},{"title":"3XL","offer_id":57640628224335,"sku":null,"price":69.95,"currency_code":"CAD","in_stock":true},{"title":"4XL","offer_id":57640628257103,"sku":null,"price":69.95,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0871\/5052\/6799\/files\/p3_1276360a-d4e1-43f4-82b1-e0345463f564.png?v=1778144502","url":"https:\/\/northbloomco.com\/products\/vivienne%e2%84%a2-flowing-floral-maxi-dress","provider":"North \u0026 Bloom","version":"1.0","type":"link"}