【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set
【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set
【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set
【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set
【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set
【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set
【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set
【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set
【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set
【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set
【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set
【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set

【Wetrose】In Stock Kaname Madoka Magic Girl Puella Magi Magica Cosplay Costume Wig Full Set

Price

$67.58 $62.99
Save 7%

color - Full set and Wig

Please select a color

size

Please select a size

in stock

Please select a in stock

Quantity

/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);

In Stock:

The order processing time of the【In Stock】items is about 1-10 days normally. Except the shoes.

The order processing time of the【In Stock】shoes is about 5-15 days normally.

Pre-order:

Pre-order means the item is under production right now.

The processing times for pre-order items are estimated based on the factory's past production experience, we can’t promise it will delay or come out sooner.

And the processing time varies for each pre-order product, please refer to the product details page!

When one batch comes out, preorders will be shipped out according to the sequence of ordering time! (oldest order placed will be sent first)

Additions:

1.You can order the pre-order/instock items together.

2.The order processing time won't change no matter what shipping options you choose.

3.In most cases, we will ship your order within promised estimated time, just in case, the product status changes from in stock to presale, we will notify you or you can email us for latest progress.

Contact email: support@wetrose.com

Shipping time begins after your order is shipped depending on the shipping methods you choose at the check-out page.

Once your packge is shipped, a shipping confirmation will be sent to your email.

INTERNATIONAL SHIPPING
*Standard Shipping: 7-30 working days 

*Premium Shipping: 7-12 working days ( only some regions)

*South American countries and regions: 20-50 working days

The transportation time provided by our company is a reference time, excluding weekends and statutory holidays.

The actual transit delivery time shall prevail. Please pay attention!


Parcel tracking:

After the order is shipped, you will receive a shipping confirmation email with the tracking number and tracking link.

If you find that the status of your order has changed to "fulfilled" and you still have not received the email, please feel free to contact us!

Contact email: support@wetrose.com

Cancellation After Dispatch:
Unfortunately, due to international logistics constraints, we are unable to cancel orders that have already been dispatched.

For cancellation requests, please contact us via email rather than social private chat. Thank you for your understanding.

The sizes vary for different costumes. Please kindly check the size chart in the description and measure yourself carefully. Most of our costumes are in Asian Sizes, please go one size up if are not sure about the sizing. 

* The cup may change for different costumes.


Character:
Madoka Combat Suit

Brand: Wetrose

Material: Polyester fiber

Including: Same as photo

Size: XS~XXXL
Size Chart is Asian size,so you can order one size bigger if you need European sizes!
The size chart is measured manually so there may be an error of 1-3cm, which is not a reason for return or exchange

Weight: Full Set 1.2kg or so

*no including shoes

We assure high quality

Welcome to contact our customer service for any inquiries!
E-mail:support@wetrose.com
Instagram: wetrose_cosplay

Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.