Female Slave Mouth Ball Collar, Back Handcuffs And Flirting Tools
Female Slave Mouth Ball Collar, Back Handcuffs And Flirting Tools
Female Slave Mouth Ball Collar, Back Handcuffs And Flirting Tools
Female Slave Mouth Ball Collar, Back Handcuffs And Flirting Tools
Female Slave Mouth Ball Collar, Back Handcuffs And Flirting Tools
Female Slave Mouth Ball Collar, Back Handcuffs And Flirting Tools

Female Slave Mouth Ball Collar, Back Handcuffs And Flirting Tools

Specifications
Please select a specifications
Price
$0.00
$59.00
Quantity
Free shipping over $59
Easy returns
Sustainably made
Anonymization
Product Parameters
Sharp Weapon: Sharp Weapon(N)
Electrified: Electrified(N)
Product detail

Got a thing for extreme dominance? This Ball Gag and Wrist Restraint Set is the perfect way to dominate your partner’s movement and position while silencing them with a gag. Great for enjoying sadomasochistic play in a way that feels controlled, effortless, and comfortable. This set leaves your submissive bound and vulnerable to your dominance, allowing you to tease and flirt with them till you’re content. She will squirm, gag and cum while submitting to your deepest fetishes.

●Premium quality: This set includes a phthalate-free silicone gag, straps, and cuffs. The non-toxic material makes it safe for oral exposure and the soft-textured material also aids in keeping your partner feeling comfortable throughout the act.

●Ecstatic pleasure: There’s nothing like punishing and pleasuring your partner only to hear their muffled moans under the gag. Thie set redefines your dominance in the bedroom by rendering your partner helpless and under your mercy, bound and begging for more. Strap, gag, and pound from all angles until the both of you cum in ecstasy.

●Built for your sadistic sexual pleasure: The set features a steel o-ring connected to the face harness, which can be connected to the cuffs with the hooks. This lets you keep your partner guessing your next move and surprise them with stimulation, penetration, caressing, and flirtatious play—with this set, your imagination is the only limit.

Specification:7.87*6.29*2.36in(200*160*60mm)
Material: Leather, Nylon, Metal, ABS

What to Expect
1* Ball Gag Collar
1*Connect Rope
2*Handcuffs
2*Ankle cuffs

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.