{"product_id":"theodosia-floral-keyhole-midi-dress","title":"Theodosia | Floral Keyhole Midi Dress","description":"\u003ch3 dir=\"auto\" class=\"PDq2pG_selectionAnchorContainer\"\u003eThe Dress That's Polished From Every Angle\u003cspan class=\"PDq2pG_selectionAnchor\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cp dir=\"auto\"\u003eTheodosia brings together a striking floral print and an elegant, feminine silhouette. The keyhole neckline creates a distinctive focal point, while the defined waist flows into a full midi skirt with soft movement. Set against a rich black base, the florals give the dress depth and character while keeping the overall look beautifully refined.\u003c\/p\u003e\n\u003ch3 dir=\"auto\"\u003eWhy You'll Love It\u003c\/h3\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eElegant keyhole neckline\u003c\/strong\u003e — A distinctive collar detail beautifully frames the neckline and gives the silhouette a polished finish.\u003c\/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eDefined waistline\u003c\/strong\u003e — Creates gentle shape through the middle before flowing naturally into the fuller skirt.\u003c\/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eStatement floral print\u003c\/strong\u003e — Rich florals against the black base add depth, colour and an elegant vintage-inspired character.\u003c\/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eFull flowing midi skirt\u003c\/strong\u003e — Falls gracefully from the waist with plenty of movement while maintaining a refined silhouette.\u003c\/p\u003e\n\u003ch3 dir=\"auto\"\u003eWho Is This For\u003c\/h3\u003e\n\u003cp dir=\"auto\"\u003eShe's the one who appreciates feminine elegance with a little more character. She's drawn to rich florals, thoughtful neckline details and silhouettes that feel polished without being overly formal. She wants a dress she can rely on whenever the occasion calls for something special.\u003c\/p\u003e\n\u003ch3 dir=\"auto\"\u003eSpecifications\u003c\/h3\u003e\n\u003cp dir=\"auto\"\u003eType → Single-piece dress\u003cbr\u003eFit → Defined waist, full skirt\u003cbr\u003eLength → Midi\u003cbr\u003eNeckline → Keyhole collar\u003cbr\u003eSleeve → Sleeveless\u003cbr\u003eStyle → Floral keyhole midi dress\u003cbr\u003eSeason → Spring, Summer, Autumn\u003cbr\u003eOccasion → Weddings, formal dinners, anniversary dinners, evening events\u003c\/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eSize Chart (CM)\u003c\/strong\u003e\u003c\/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e\u003cstrong\u003eSize\u003c\/strong\u003e\u003c\/th\u003e\n\u003cth\u003e\u003cstrong\u003eUK Size\u003c\/strong\u003e\u003c\/th\u003e\n\u003cth align=\"right\"\u003e\u003cstrong\u003eBust (cm)\u003c\/strong\u003e\u003c\/th\u003e\n\u003cth align=\"right\"\u003e\u003cstrong\u003eWaist (cm)\u003c\/strong\u003e\u003c\/th\u003e\n\u003cth align=\"right\"\u003e\u003cstrong\u003eLength (cm)\u003c\/strong\u003e\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eXS\u003c\/td\u003e\n\u003ctd\u003eUK 8\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e86\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e71\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e120\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eS\u003c\/td\u003e\n\u003ctd\u003eUK 10\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e90\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e75\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e121\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eM\u003c\/td\u003e\n\u003ctd\u003eUK 12\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e94\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e79\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e123\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eL\u003c\/td\u003e\n\u003ctd\u003eUK 14\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e100\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e85\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e124\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eXL\u003c\/td\u003e\n\u003ctd\u003eUK 16\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e106\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e91\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e125\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e2XL\u003c\/td\u003e\n\u003ctd\u003eUK 18\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e112\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e97\u003c\/td\u003e\n\u003ctd align=\"right\"\u003e126\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv class=\"qMYqUG_convSearchResultHighlightRoot\"\u003e\n\u003cdiv class=\"\"\u003e\n\u003csection class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [\u0026amp;:has([data-writing-block])\u0026gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\"\u003e\n\u003cdiv class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\"\u003e\n\u003cdiv class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\"\u003e\n\u003cdiv class=\"flex max-w-full flex-col gap-4 grow\"\u003e\n\u003cdiv dir=\"auto\" class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+\u0026amp;]:mt-1\" tabindex=\"0\"\u003e\n\u003cdiv class=\"flex w-full flex-col gap-1 empty:hidden\"\u003e\n\u003cdiv class=\"fbskMG_root LR5Y_W_content markdown prose dark:prose-invert wrap-break-word w-full light markdown-new-styling\"\u003e\n\u003cdiv class=\"qMYqUG_convSearchResultHighlightRoot\"\u003e\n\u003cdiv class=\"\"\u003e\n\u003csection class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [\u0026amp;:has([data-writing-block])\u0026gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\"\u003e\n\u003cdiv class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\"\u003e\n\u003cdiv class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\"\u003e\n\u003cdiv class=\"flex max-w-full flex-col gap-4 grow\"\u003e\n\u003cdiv dir=\"auto\" class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+\u0026amp;]:mt-1\" tabindex=\"0\"\u003e\n\u003cdiv class=\"flex w-full flex-col gap-1 empty:hidden\"\u003e\n\u003cdiv class=\"LR5Y_W_content markdown prose dark:prose-invert wrap-break-word w-full light markdown-new-styling\"\u003e\n\u003ch3 dir=\"auto\" class=\"PDq2pG_selectionAnchorContainer\"\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mt-3 w-full empty:hidden has-[\u0026gt;_:empty]:hidden\"\u003e\n\u003ch3 dir=\"auto\" class=\"PDq2pG_selectionAnchorContainer\"\u003eExclusive Offer\u003cspan class=\"PDq2pG_selectionAnchor\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cp dir=\"auto\"\u003eShop the \u003cstrong\u003eTheodosia | Floral Keyhole Midi Dress\u003c\/strong\u003e today with our \u003cstrong\u003eexclusive limited-time offer!\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Anna’s Dublin","offers":[{"title":"Black \/ XS (UK 8)","offer_id":55137218789713,"sku":null,"price":54.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ S (UK 10)","offer_id":55137218822481,"sku":null,"price":54.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ M (UK 12)","offer_id":55137218855249,"sku":null,"price":54.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ L (UK 14)","offer_id":55137218888017,"sku":null,"price":54.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ XL (UK 16)","offer_id":55137218920785,"sku":null,"price":54.99,"currency_code":"EUR","in_stock":true},{"title":"Black \/ 2XL (UK 18)","offer_id":55137218953553,"sku":null,"price":54.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1081\/4396\/8593\/files\/3ec22b5d-bf0b-430c-9c79-5e15a2cf9110.png?v=1790810650","url":"https:\/\/annadublin.com\/products\/theodosia-floral-keyhole-midi-dress","provider":"Anna’s Dublin","version":"1.0","type":"link"}