Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag
Two In One Leather Shopper Tote Bag

Two In One Leather Shopper Tote Bag

Price

$79.69 $34.98
Save 56%

size

Please select a size

color

Please select a color

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);


Within The Site 2 Items Free Shipping!



●Crafted classic style leather tote bag.
●Contains a gorgeous matching smaller removable bag.
●Comes with a matching detachable shoulder strap.
●Perfect for shopping in style and everyday use.

  • Product Description


7
33
8



10
11




✔NOTE:Wash it with clean water in ordinary temperature. DO NOT wash it with hot water and alkaline detergent. Hang to dry and store in ventilated place.




Payments Via PayPal® and CreditCard.

Handling time>> Ship within 48 hours after payment.

Delivery time>>Worldwide 7-12 days



Reviews

Love this bag!! Perfect size to hold all my stuff and very lightweight. Mine did NOT have a “weird smell” at all (like others have stated). It’s gorgeous! 

I purchased this bag in grey to use for recent travel. It is so much nicer than I anticipated and I love it! Seems very durable and well made .

This purse is worth the money and then some.

Very nice and roomy bag. Received quick .



Just what a vegan with lots in her handbag needs. Very happy, good price and looks good!