Free shipping on international orders of $100

Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
1 / 6
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
Long-Sleeved V-Neck Cotton Linen Loose Shirt
1 / 6

Long-Sleeved V-Neck Cotton Linen Loose Shirt

$29.99
$0.00 0% Off
Color
Size

Introducing the Long-Sleeved V-Neck Cotton Linen Loose Shirt, an exquisite piece of casual wear that elegantly blends style, comfort, and breathability. Made from a premium blend of cotton and linen, this shirt is perfect for any occasion, whether it be a casual day out or a business meeting. The V-neck design adds a touch of sophistication, while its loose fit ensures maximum comfort and freedom of movement. With its timeless appeal and exceptional craftsmanship, this shirt is a must-have addition to any wardrobe. Order now and experience the perfect balance of style and comfort.

Product Information

  • Material: Cotton, Linen
  • Long Sleeves
  • V-Neck

Size Chart:

Size Shoulder Bust Length Sleeve
cm inch cm inch cm inch cm inch
M 51.5 20.28 113 44.49 74 29.13 50 19.69
L 53 20.87 118 46.46 75 29.53 51 20.08
XL 54.5 21.46 123 48.43 76 29.92 52 20.47
XXL 56 22.05 128 50.39 77 30.31 53 20.87
3XL 57.5 22.64 133 52.36 78 30.71 54 21.26
4XL 59 23.23 138 54.33 79 31.10 55 21.65
Due to manual measurement, there may be an error of 1-3cm
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.