/* Project E — Minicart drawer.
 *
 * Two rules govern this file:
 *
 * 1. No literal brand colour. Everything paints from the custom properties
 *    Jett_Woo_Minicart::css_vars() derives from the two colours in the admin,
 *    so one setting restyles the whole drawer. Fallbacks below keep the drawer
 *    presentable if the inline block is ever stripped by an optimiser.
 * 2. The reset block is not optional. The drawer is injected into a themed page,
 *    and an Elementor kit styling bare `button` beat every unflagged declaration
 *    here — it forced 12px 30px of padding onto the 28px quantity steppers,
 *    which squeezed their icons to zero width and made the controls vanish.
 *    Anything that decides a control's box or colour is therefore !important.
 */

:root{
	--jw-mc-btn:#111111;--jw-mc-btn-text:#ffffff;
	--jw-mc-cta:#111111;--jw-mc-cta-hover:#333333;
	--jw-mc-tint:#f5f5f5;--jw-mc-tint-2:#ebebeb;
	--jw-mc-line-soft:#ececec;--jw-mc-line:#d5d5d5;
	--jw-mc-ink:#16110f;--jw-mc-ink-2:#59504d;--jw-mc-ink-3:#8f8683;
	--jw-mc-ring:rgba(17,17,17,.32);--jw-mc-shadow:rgba(0,0,0,.22);
	--jw-mc-danger:#c0392b;--jw-mc-ok:#1ea64d;--jw-mc-ok-dark:#12813b;
}

/* --- Scoped reset: strip theme button/input styling, then restyle below. --- */
.jw-mc-drawer button,.jw-mc-drawer input,.jw-mc-shortcode,.jw-mc-toggle{
	margin:0!important;padding:0!important;border:0!important;background:none!important;
	box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important;
	font:inherit!important;font-size:inherit!important;line-height:1.2!important;
	min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;
	border-radius:0!important;text-shadow:none!important;-webkit-appearance:none;appearance:none;
	-webkit-tap-highlight-color:transparent;
}
.jw-mc-drawer svg,.jw-mc-shortcode svg,.jw-mc-toggle svg{flex:0 0 auto!important;max-width:none!important;}
/* Form controls don't inherit font-family; the drawer root stays overridable so
   JS can stamp the exact site font on it (see minicart.js). */
.jw-mc-drawer *,.jw-mc-drawer input,.jw-mc-drawer button,.jw-mc-drawer select,.jw-mc-drawer textarea,.jw-mc-shortcode *{font-family:inherit!important;}
.jw-mc-open,.jw-mc-shortcode{font-family:inherit;}
.jw-mc-drawer,.jw-mc-drawer *{box-sizing:border-box;}

/* --- Shell --- */
.jw-mc-overlay{position:fixed;inset:0;background:rgba(17,17,17,.42);-webkit-backdrop-filter:blur(5px) saturate(1.05);backdrop-filter:blur(5px) saturate(1.05);z-index:2147482000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s;}
.jw-mc-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto;}
/* Physical right-anchor + translateX so RTL/LTR both slide from the right correctly. */
.jw-mc-drawer{position:fixed;top:0;right:0;height:100%;width:390px;max-width:92vw;background:#fff;color:var(--jw-mc-ink);z-index:2147482001;display:flex;flex-direction:column;box-shadow:-14px 0 48px var(--jw-mc-shadow);transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);direction:rtl;font-family:inherit;}
/* Closed, the drawer sits at translateX(100%) but its shadow still reaches back into the page edge. */
.jw-mc-drawer:not(.is-open){box-shadow:none;}
.jw-mc-drawer.is-open{transform:translateX(0);}
body.jw-mc-active{overflow:hidden;}
/* Set by minicart.js / nav-menu.js only when a space-taking scrollbar exists: keeps its gutter while scroll is locked, so the page (and a sticky header with an inline px width) does not grow by the scrollbar's width. */
html.pe-sb-stable{scrollbar-gutter:stable;}

/* --- Header --- */
.jw-mc-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--jw-mc-line-soft);background:var(--jw-mc-tint);}
.jw-mc-title{font-size:18px;font-weight:800;color:var(--jw-mc-ink);}
.jw-mc-drawer button.jw-mc-x{width:40px!important;height:40px!important;margin:-6px!important;display:flex!important;align-items:center;justify-content:center;border-radius:10px!important;cursor:pointer;color:var(--jw-mc-ink-2)!important;transition:background .15s,color .15s;}
.jw-mc-drawer button.jw-mc-x:hover,.jw-mc-drawer button.jw-mc-x:focus-visible{background:var(--jw-mc-tint-2)!important;color:var(--jw-mc-ink)!important;}

/* --- Share cart --- */
/* Two 40px controls where there used to be one: the negative offset moves to the
   group so the buttons don't eat each other's box. */
.jw-mc-drawer .jw-mc-header-acts{display:flex;align-items:center;gap:4px;margin:-6px;}
.jw-mc-drawer .jw-mc-header-acts button.jw-mc-x{margin:0!important;}
.jw-mc-drawer button.jw-mc-share{width:40px!important;height:40px!important;display:flex!important;align-items:center;justify-content:center;border-radius:10px!important;cursor:pointer;color:var(--jw-mc-ink-2)!important;transition:background .15s,color .15s;}
.jw-mc-drawer button.jw-mc-share:hover,.jw-mc-drawer button.jw-mc-share:focus-visible{background:var(--jw-mc-tint-2)!important;color:var(--jw-mc-ink)!important;}
.jw-mc-drawer button.jw-mc-share[aria-expanded="true"]{background:var(--jw-mc-tint-2)!important;color:var(--jw-mc-ink)!important;}
.jw-mc-drawer button.jw-mc-share.is-busy{opacity:.55;pointer-events:none;}

/* A theme that styles [hidden] elements with a display value outranks the
   attribute's own UA rule, which would leave the panel open forever. */
.jw-mc-share-panel[hidden]{display:none!important;}
.jw-mc-share-panel{padding:14px 18px;border-bottom:1px solid var(--jw-mc-line-soft);background:#fff;}
.jw-mc-share-note{margin:0 0 10px!important;font-size:12.5px;line-height:1.5;color:var(--jw-mc-ink-2);}
.jw-mc-share-row{display:flex;gap:8px;align-items:center;}
/* LTR on purpose: a URL inside an RTL box is re-ordered by the bidi algorithm
   and the shopper copies something that is not the link. */
.jw-mc-drawer input.jw-mc-share-url{flex:1 1 auto;min-width:0!important;height:auto!important;padding:9px 11px!important;border:1px solid var(--jw-mc-line)!important;border-radius:10px!important;background:#fff!important;color:var(--jw-mc-ink)!important;font-size:13px!important;direction:ltr;text-align:left;unicode-bidi:plaintext;}
.jw-mc-drawer button.jw-mc-share-copy{flex:0 0 auto;padding:10px 14px!important;border-radius:10px!important;background:var(--jw-mc-cta)!important;color:#fff!important;font-weight:700!important;font-size:13px!important;cursor:pointer;transition:background .15s;}
.jw-mc-drawer button.jw-mc-share-copy:hover{background:var(--jw-mc-cta-hover)!important;}
.jw-mc-share-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.jw-mc-drawer a.jw-mc-share-wa,.jw-mc-drawer a.jw-mc-share-mail,.jw-mc-drawer button.jw-mc-share-native{padding:7px 12px!important;border:1px solid var(--jw-mc-line)!important;border-radius:999px!important;background:var(--jw-mc-tint)!important;color:var(--jw-mc-ink)!important;font-size:12.5px!important;font-weight:600!important;text-decoration:none!important;cursor:pointer;transition:background .15s;}
.jw-mc-drawer a.jw-mc-share-wa:hover,.jw-mc-drawer a.jw-mc-share-mail:hover,.jw-mc-drawer button.jw-mc-share-native:hover{background:var(--jw-mc-tint-2)!important;}
.jw-mc-drawer button.jw-mc-share-native[hidden]{display:none!important;}
.jw-mc-share-msg{margin:8px 0 0!important;min-height:16px;font-size:12px;font-weight:600;color:var(--jw-mc-ok-dark);}

.jw-mc-body{flex:1;overflow-y:auto;padding:16px 18px 0;position:relative;}
.jw-mc-body.is-loading{opacity:.5;pointer-events:none;}

/* --- Empty state --- */
.jw-mc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:52px 20px;font-size:15px;gap:16px;}
.jw-mc-empty-ico{display:inline-flex;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;background:var(--jw-mc-tint);color:var(--jw-mc-btn);}
.jw-mc-empty-ico .jw-mc-svg{width:56px;height:56px;}
.jw-mc-empty-txt{font-weight:600;color:var(--jw-mc-ink-2);}

/* Fly-to-cart clone (product thumbnail animating into the cart trigger). */
.jw-mc-fly{position:fixed;z-index:2147483600;border-radius:10px;object-fit:cover;pointer-events:none;box-shadow:0 10px 28px rgba(0,0,0,.28);will-change:transform,opacity;}

/* --- Free-shipping progress --- */
.jw-mc-ship{background:var(--jw-mc-tint);border:1px solid var(--jw-mc-line-soft);border-radius:14px;padding:13px 15px;margin-bottom:16px;}
.jw-mc-ship-head{display:flex;align-items:center;gap:9px;margin-bottom:10px;}
.jw-mc-ship-ico{display:inline-flex;flex:0 0 auto;color:var(--jw-mc-cta);}
.jw-mc-ship-text{font-size:13.5px;font-weight:600;color:var(--jw-mc-ink);line-height:1.35;}
.jw-mc-ship-bar{position:relative;height:9px;border-radius:99px;background:#fff;box-shadow:inset 0 0 0 1px var(--jw-mc-line-soft);overflow:hidden;}
.jw-mc-ship-bar>span{display:block;height:100%;border-radius:99px;background:var(--jw-mc-btn);position:relative;overflow:hidden;transition:width .7s cubic-bezier(.4,0,.2,1);}
.jw-mc-ship-bar>span::after{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,rgba(255,255,255,.28) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.28) 50%,rgba(255,255,255,.28) 75%,transparent 75%);background-size:22px 22px;animation:jw-mc-stripes 1s linear infinite;}
@keyframes jw-mc-stripes{from{background-position:0 0;}to{background-position:22px 0;}}
/* "Reached" stays green: success is semantic, not brand, and the tick carries the
   meaning too so it never depends on colour alone. */
.jw-mc-ship.is-reached{background:linear-gradient(180deg,#f1fbf5,#eafaf0);border-color:#c9efd6;}
.jw-mc-ship.is-reached .jw-mc-ship-ico{color:var(--jw-mc-ok);}
.jw-mc-ship.is-reached .jw-mc-ship-text{color:var(--jw-mc-ok-dark);}
.jw-mc-ship.is-reached .jw-mc-ship-bar>span{background:linear-gradient(90deg,#28c765,var(--jw-mc-ok));}
.jw-mc-ship.is-reached .jw-mc-ship-bar>span::after{opacity:.3;animation:none;}

/* --- Stepped bar: free shipping + "order over X" gifts on one track ---
   Markers are evenly spaced (their amounts are printed under them), so gift
   thumbnails never collide however close two thresholds are. The track is
   inset by half a marker so the last one stays inside the box. Everything is
   logical (inline-start), so the fill and the markers run the same way in the
   RTL drawer. Lists and images are !important-armoured: themes style bare
   ol/li/img, and Astra alone indents every <ol> by 3em. */
.jw-mc-tiers .jw-mc-ship-head{margin-bottom:12px;}
.jw-mc-tier-track{position:relative;height:56px;margin:0 17px;}
.jw-mc-tier-track .jw-mc-ship-bar{position:absolute;top:12.5px;inset-inline:0;}
.jw-mc-drawer ol.jw-mc-tier-steps{position:absolute;inset:0;list-style:none!important;margin:0!important;padding:0!important;}
.jw-mc-drawer .jw-mc-tier-steps>li.jw-mc-tier{position:absolute;top:0;inset-inline-start:var(--jw-tier-pos,100%);width:34px;margin:0!important;margin-inline-start:-17px!important;padding:0!important;list-style:none!important;display:flex;flex-direction:column;align-items:center;gap:5px;}
.jw-mc-drawer .jw-mc-tier-steps>li.jw-mc-tier::marker{content:none;}
.jw-mc-tier-dot{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--jw-mc-ink-3);box-shadow:0 0 0 2px var(--jw-mc-line),0 2px 6px rgba(0,0,0,.08);transition:box-shadow .3s,color .3s;}
.jw-mc-tier-rot{position:absolute;inset:2px;border-radius:50%;overflow:hidden;background:var(--jw-mc-tint);}
.jw-mc-drawer .jw-mc-tier-rot img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;object-fit:cover;opacity:0;transition:opacity .6s ease;}
.jw-mc-drawer .jw-mc-tier-rot img.is-on{opacity:1;}
/* A milestone that is free shipping AND a gift keeps the truck as a badge. */
.jw-mc-tier-ship{position:absolute;bottom:-5px;inset-inline-start:-6px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#fff;color:var(--jw-mc-ink-2);box-shadow:0 0 0 1.5px var(--jw-mc-line);}
.jw-mc-tier-ship svg{width:11px;height:11px;}
.jw-mc-tier-ok{position:absolute;top:-5px;inset-inline-end:-6px;display:flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:var(--jw-mc-ok);color:#fff;box-shadow:0 0 0 2px #fff;}
.jw-mc-tier-amt{font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;color:var(--jw-mc-ink-3);font-variant-numeric:tabular-nums;}
.jw-mc-tiers[data-steps="5"] .jw-mc-tier-amt,.jw-mc-tiers[data-steps="6"] .jw-mc-tier-amt,.jw-mc-tiers[data-steps="7"] .jw-mc-tier-amt,.jw-mc-tiers[data-steps="8"] .jw-mc-tier-amt{font-size:9.5px;}
/* The next milestone is the one to aim for: brand ring. Reached: green ring
   and tick — success is semantic, not brand, and never colour alone. */
.jw-mc-tier.is-next .jw-mc-tier-dot{color:var(--jw-mc-cta);box-shadow:0 0 0 2px var(--jw-mc-btn),0 3px 10px var(--jw-mc-shadow);}
.jw-mc-tier.is-next .jw-mc-tier-amt{color:var(--jw-mc-ink);}
.jw-mc-tier.is-reached .jw-mc-tier-dot{color:var(--jw-mc-ok-dark);box-shadow:0 0 0 2px var(--jw-mc-ok),0 2px 6px rgba(0,0,0,.08);}
.jw-mc-tier.is-reached .jw-mc-tier-amt{color:var(--jw-mc-ok-dark);}
/* Merchant captions above the amounts: up to two short lines, centred under
   the marker; the last marker (at the track's end) grows inwards instead. */
.jw-mc-tiers.has-caps .jw-mc-tier-track{height:86px;container-type:inline-size;}
/* A fixed two-line box with the text at its foot, so every amount below sits
   on one line whether its caption took one line or two. Width: the marker's
   share of the track minus a gap, so neighbours never touch. */
.jw-mc-tier-cap{display:flex;align-items:flex-end;justify-content:center;width:max-content;max-width:80px;max-width:calc(100cqw / var(--jw-tier-n,3) - 10px);height:2.4em;overflow:hidden;font-size:10.5px;font-weight:600;line-height:1.2;text-align:center;white-space:normal;color:var(--jw-mc-ink-2);}
.jw-mc-tier:last-child .jw-mc-tier-cap{align-self:flex-end;justify-content:flex-end;text-align:end;}
.jw-mc-tiers[data-steps="4"] .jw-mc-tier-cap,.jw-mc-tiers[data-steps="5"] .jw-mc-tier-cap,.jw-mc-tiers[data-steps="6"] .jw-mc-tier-cap,.jw-mc-tiers[data-steps="7"] .jw-mc-tier-cap,.jw-mc-tiers[data-steps="8"] .jw-mc-tier-cap{font-size:9.5px;}
.jw-mc-tier.is-reached .jw-mc-tier-cap{color:var(--jw-mc-ok-dark);}
.jw-mc-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}

/* --- Items --- */
.jw-mc-items{list-style:none;margin:0;padding:0;}
.jw-mc-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--jw-mc-line-soft);}
.jw-mc-item:last-child{border-bottom:0;}
.jw-mc-thumb img{width:66px;height:66px;object-fit:cover;border-radius:10px;background:var(--jw-mc-tint);}
.jw-mc-info{flex:1;min-width:0;}
.jw-mc-name{display:block;font-weight:600;font-size:14px;line-height:1.35;text-decoration:none;margin-bottom:4px;}
.jw-mc-line{font-size:14.5px;font-weight:700;color:var(--jw-mc-ink);margin-bottom:8px;font-variant-numeric:tabular-nums;}
.jw-mc-qty{display:flex;align-items:center;gap:6px;}
.jw-mc-drawer .jw-mc-qty button{width:30px!important;height:30px!important;display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer;border-radius:9px!important;box-shadow:inset 0 0 0 1px var(--jw-mc-line)!important;background:#fff!important;color:var(--jw-mc-ink)!important;transition:background .15s,color .15s,box-shadow .15s;}
.jw-mc-qty button svg{display:block;width:15px;height:15px;}
.jw-mc-drawer .jw-mc-qty button:not(:disabled):hover,.jw-mc-drawer .jw-mc-qty button:not(:disabled):active{background:var(--jw-mc-tint-2)!important;color:var(--jw-mc-cta)!important;box-shadow:inset 0 0 0 1px var(--jw-mc-btn)!important;}
.jw-mc-drawer .jw-mc-qty button:disabled{opacity:.35;cursor:not-allowed;}
.jw-mc-q{min-width:26px;text-align:center;font-weight:700;font-size:14px;color:var(--jw-mc-ink);font-variant-numeric:tabular-nums;}
/* Destructive action: neutral at rest, red on intent — never the brand colour. */
.jw-mc-drawer button.jw-mc-remove{margin-inline-start:auto!important;color:var(--jw-mc-ink-3)!important;box-shadow:none!important;background:none!important;}
.jw-mc-drawer button.jw-mc-remove:hover,.jw-mc-drawer button.jw-mc-remove:active,.jw-mc-drawer button.jw-mc-remove:focus-visible{color:var(--jw-mc-danger)!important;background:rgba(192,57,43,.08)!important;box-shadow:none!important;}
.jw-mc-gift{background:var(--jw-mc-cta);color:var(--jw-mc-btn-text);border-radius:99px;padding:3px 11px;font-size:12px;font-weight:700;}

/* --- Coupon --- */
.jw-mc-coupon{margin:14px 0;}
.jw-mc-coupons{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px;}
.jw-mc-coupons li{display:inline-flex;align-items:center;gap:4px;background:var(--jw-mc-tint);border:1px solid var(--jw-mc-line);border-radius:99px;padding:3px;padding-inline-start:11px;font-size:11.5px;font-weight:700;color:var(--jw-mc-ink);line-height:1.5;}
.jw-mc-drawer .jw-mc-coupons .jw-mc-rmcoupon{display:inline-flex!important;align-items:center;justify-content:center;width:18px!important;height:18px!important;border-radius:50%!important;color:var(--jw-mc-ink-3)!important;cursor:pointer;transition:background .15s,color .15s;}
.jw-mc-drawer .jw-mc-coupons .jw-mc-rmcoupon:hover,.jw-mc-drawer .jw-mc-coupons .jw-mc-rmcoupon:focus-visible{color:var(--jw-mc-danger)!important;background:rgba(192,57,43,.1)!important;}
/* Collapsed by default: a quiet text link that reveals the field on click. */
.jw-mc-drawer button.jw-mc-coupon-toggle{display:inline-flex!important;align-items:center;gap:6px;color:var(--jw-mc-cta)!important;cursor:pointer;font-size:13px!important;font-weight:700!important;text-decoration:underline;text-underline-offset:3px;padding:2px 0!important;transition:opacity .15s;}
.jw-mc-drawer button.jw-mc-coupon-toggle:hover{opacity:.7;}
.jw-mc-coupon-collapse{overflow:hidden;max-height:0;opacity:0;visibility:hidden;transition:max-height .32s ease,opacity .25s ease,visibility .32s;}
.jw-mc-coupon-collapse.is-open{max-height:240px;opacity:1;visibility:visible;}
.jw-mc-coupon-row{display:flex;gap:8px;margin-top:10px;}
.jw-mc-drawer input.jw-mc-coupon-input{flex:1 1 auto;min-width:0;width:auto!important;height:44px!important;padding:0 14px!important;border-radius:10px!important;box-shadow:inset 0 0 0 1px var(--jw-mc-line)!important;background:#fff!important;color:var(--jw-mc-ink)!important;font-size:14px!important;transition:box-shadow .15s;}
.jw-mc-drawer input.jw-mc-coupon-input::placeholder{color:var(--jw-mc-ink-3);}
.jw-mc-drawer input.jw-mc-coupon-input:focus{outline:none!important;box-shadow:inset 0 0 0 2px var(--jw-mc-btn),0 0 0 3px var(--jw-mc-ring)!important;}
/* Secondary button: outlined, subordinate to the checkout CTA. */
.jw-mc-drawer button.jw-mc-coupon-apply{height:44px!important;padding:0 20px!important;border-radius:10px!important;white-space:nowrap;cursor:pointer;font-size:14px!important;font-weight:700!important;color:var(--jw-mc-cta)!important;background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--jw-mc-btn)!important;transition:background .15s,color .15s;}
.jw-mc-drawer button.jw-mc-coupon-apply:hover,.jw-mc-drawer button.jw-mc-coupon-apply:focus-visible{background:var(--jw-mc-cta)!important;color:var(--jw-mc-btn-text)!important;box-shadow:inset 0 0 0 1.5px var(--jw-mc-cta)!important;}
.jw-mc-coupon-msg{color:var(--jw-mc-danger);font-size:13px;margin-top:7px;font-weight:600;}
.jw-mc-coupon-msg:empty{display:none;}

/* --- Points + deals --- */
.jw-mc-points{display:flex;align-items:center;gap:9px;background:var(--jw-mc-tint);border:1px solid var(--jw-mc-line-soft);border-radius:12px;padding:11px 14px;font-size:13px;color:var(--jw-mc-ink);margin:12px 0;}
.jw-mc-points-ico{display:inline-flex;flex:0 0 auto;color:var(--jw-mc-cta);}
.jw-mc-deals{margin:14px 0;}
.jw-mc-deals-t{font-size:12px;font-weight:600;color:var(--jw-mc-ink-3);margin-bottom:7px;}
.jw-mc-chips{display:flex;flex-wrap:wrap;gap:6px;}
/* Chip colours come from each promo rule, so only the shape is set here. */
.jw-mc-chip{border-radius:99px;padding:5px 11px;font-size:12px;font-weight:700;cursor:default;transition:transform .12s,opacity .15s;}

/* --- Footer --- */
/* Full-width solid footer so items scrolling underneath never show through. */
.jw-mc-foot{position:sticky;bottom:0;z-index:2;background:#fff;border-top:1px solid var(--jw-mc-line-soft);margin:10px -18px 0;padding:14px 18px 18px;box-shadow:0 -8px 20px rgba(0,0,0,.04);}
.jw-mc-subtotal{display:flex;justify-content:space-between;font-size:15px;font-weight:700;color:var(--jw-mc-ink-2);margin-bottom:8px;}
.jw-mc-discount{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--jw-mc-ok);margin-bottom:6px;}
.jw-mc-discount>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.jw-mc-total{display:flex;justify-content:space-between;font-size:17px;font-weight:800;color:var(--jw-mc-ink);margin-bottom:12px;padding-top:9px;border-top:1px solid var(--jw-mc-line-soft);}
.jw-mc-subtotal>span:last-child,.jw-mc-total>span:last-child{font-variant-numeric:tabular-nums;}

/* Primary CTA — the drawer's single strongest element. Uses the contrast-corrected
   fill so the label stays readable even when the brand colour is a pale pastel. */
.jw-mc-checkout{display:block;text-align:center;text-decoration:none;border-radius:12px;padding:15px;font-size:16px;font-weight:700;transition:background .15s,box-shadow .15s,transform .12s;}
.jw-mc-drawer a.jw-mc-checkout,
.jw-mc-drawer a.jw-mc-checkout:link,
.jw-mc-drawer a.jw-mc-checkout:visited,
.jw-mc-drawer a.jw-mc-checkout:focus{background:var(--jw-mc-cta)!important;color:var(--jw-mc-btn-text)!important;box-shadow:0 6px 18px var(--jw-mc-shadow)!important;}
.jw-mc-drawer a.jw-mc-checkout:hover{background:var(--jw-mc-cta-hover)!important;color:var(--jw-mc-btn-text)!important;transform:translateY(-1px);box-shadow:0 10px 24px var(--jw-mc-shadow)!important;}
.jw-mc-drawer a.jw-mc-checkout:active{transform:translateY(0);}

/* Secondary "view cart" — ghost button, visually subordinate to checkout. */
.jw-mc-view-cart{display:block;text-align:center;text-decoration:none;border-radius:12px;padding:12px;font-size:15px;font-weight:700;margin-bottom:10px;transition:background .15s,color .15s;}
.jw-mc-drawer a.jw-mc-view-cart,
.jw-mc-drawer a.jw-mc-view-cart:link,
.jw-mc-drawer a.jw-mc-view-cart:visited,
.jw-mc-drawer a.jw-mc-view-cart:focus{color:var(--jw-mc-cta)!important;background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--jw-mc-btn)!important;}
.jw-mc-drawer a.jw-mc-view-cart:hover{color:var(--jw-mc-cta)!important;background:var(--jw-mc-tint-2)!important;}

/* --- Link colours inside the drawer (kill theme link/hover colours) --- */
.jw-mc-drawer a.jw-mc-name,
.jw-mc-drawer a.jw-mc-name:link,
.jw-mc-drawer a.jw-mc-name:visited{color:var(--jw-mc-ink)!important;text-decoration:none;}
.jw-mc-drawer a.jw-mc-name:hover,.jw-mc-drawer a.jw-mc-name:focus{color:var(--jw-mc-cta)!important;text-decoration:underline;text-underline-offset:2px;}
.jw-mc-drawer a.jw-mc-chip,
.jw-mc-drawer a.jw-mc-chip:link,
.jw-mc-drawer a.jw-mc-chip:visited,
.jw-mc-drawer a.jw-mc-chip:hover,
.jw-mc-drawer a.jw-mc-chip:focus{color:var(--jw-chip-fg,#fff)!important;text-decoration:none!important;cursor:pointer;}
.jw-mc-drawer a.jw-mc-chip:hover{transform:translateY(-1px);opacity:.92;}

/* --- Focus. The old sheet removed every outline, which left keyboard users with
       no visible position. The ring is an outline rather than a box-shadow so it
       can't collide with the inset shadows several controls use as their border,
       and focus-visible keeps it off mouse clicks. --- */
.jw-mc-drawer :focus{outline:none;}
.jw-mc-drawer .jw-mc-qty button:focus-visible,
.jw-mc-drawer button.jw-mc-x:focus-visible,
.jw-mc-drawer button.jw-mc-share:focus-visible,
.jw-mc-drawer button.jw-mc-share-copy:focus-visible,
.jw-mc-drawer a.jw-mc-share-wa:focus-visible,
.jw-mc-drawer a.jw-mc-share-mail:focus-visible,
.jw-mc-drawer button.jw-mc-share-native:focus-visible,
.jw-mc-drawer button.jw-mc-remove:focus-visible,
.jw-mc-drawer button.jw-mc-coupon-toggle:focus-visible,
.jw-mc-drawer button.jw-mc-coupon-apply:focus-visible,
.jw-mc-drawer .jw-mc-coupons .jw-mc-rmcoupon:focus-visible,
.jw-mc-drawer a.jw-mc-checkout:focus-visible,
.jw-mc-drawer a.jw-mc-view-cart:focus-visible,
.jw-mc-drawer a.jw-mc-name:focus-visible,
.jw-mc-drawer a.jw-mc-chip:focus-visible,
.jw-mc-open.jw-mc-shortcode:focus-visible,
.jw-mc-toggle:focus-visible{outline:2px solid var(--jw-mc-cta)!important;outline-offset:2px!important;}

/* --- Floating toggle --- */
.jw-mc-toggle{position:fixed!important;bottom:22px;right:22px;z-index:2147481000;width:56px!important;height:56px!important;border-radius:50%!important;cursor:pointer;display:flex!important;align-items:center;justify-content:center;background:var(--jw-mc-cta)!important;color:var(--jw-mc-btn-text)!important;box-shadow:0 8px 24px var(--jw-mc-shadow)!important;transition:transform .15s,box-shadow .15s;}
.jw-mc-toggle:hover,.jw-mc-toggle:focus{transform:translateY(-2px);background:var(--jw-mc-cta-hover)!important;color:var(--jw-mc-btn-text)!important;box-shadow:0 12px 30px var(--jw-mc-shadow)!important;}

/* --- Icon + count badge (toggle & shortcode). The badge always uses the
       contrast-corrected fill: a two-digit count on a pastel is unreadable. --- */
.jw-mc-ico{position:relative;display:inline-flex;line-height:0;}
.jw-mc-ico .jw-mc-svg{display:block;}
.jw-mc-ico .jw-mc-count{position:absolute;top:-8px;right:-10px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--jw-mc-count-bg,var(--jw-mc-cta));color:var(--jw-mc-count-ink,var(--jw-mc-btn-text));font-size:11px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;border:2px solid #fff;box-sizing:border-box;}
.jw-mc-toggle .jw-mc-count{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--jw-mc-count-bg,var(--jw-mc-btn-text));color:var(--jw-mc-count-ink,var(--jw-mc-cta));font-size:11px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--jw-mc-cta);box-sizing:border-box;}

/* --- Shortcode trigger [jett_woo_minicart] — icon-only, transparent, theme-proof --- */
.jw-mc-open.jw-mc-shortcode,
.jw-mc-open.jw-mc-shortcode:hover,
.jw-mc-open.jw-mc-shortcode:focus{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-width:44px!important;min-height:44px!important;padding:6px!important;cursor:pointer;line-height:0!important;background:transparent!important;color:var(--jw-mc-btn)!important;transition:opacity .15s;}
.jw-mc-open.jw-mc-shortcode:hover{opacity:.7;}
.jw-mc-shortcode .jw-mc-open-text{font-weight:600;font-size:15px;line-height:1;color:var(--jw-mc-btn);}
/* Text-only variant (icon="none") shows an inline count pill. */
.jw-mc-shortcode>.jw-mc-count{min-width:18px;height:18px;border-radius:99px;background:var(--jw-mc-count-bg,var(--jw-mc-cta));color:var(--jw-mc-count-ink,var(--jw-mc-btn-text));font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;line-height:1;}

@media (prefers-reduced-motion:reduce){
	.jw-mc-drawer,.jw-mc-overlay,.jw-mc-ship-bar>span,.jw-mc-coupon-collapse,.jw-mc-tier-rot img,.jw-mc-tier-dot{transition-duration:.01ms!important;}
	.jw-mc-ship-bar>span::after{animation:none;}
	.jw-mc-drawer a.jw-mc-checkout:hover,.jw-mc-drawer a.jw-mc-chip:hover,.jw-mc-toggle:hover{transform:none;}
}

/* --- AJAX add-to-cart (opt-in) ---
       The button is whatever the theme/builder rendered, so we only dim it and
       lock it while the request is in flight — `loading` is added alongside, and
       most themes already draw their own spinner from that. --- */
.jw-mc-adding{opacity:.6!important;pointer-events:none!important;}

/* Without a page reload there is no WooCommerce notice area left to speak in, so
   a refusal ("out of stock", "choose product options") is shown here instead.
   It sits on <body>, not in the drawer, because the drawer may stay shut. */
.jw-mc-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,14px);z-index:2147482000;max-width:min(92vw,420px);padding:12px 18px;border-radius:10px;background:var(--jw-mc-ink,#111111);color:#fff;font-size:14px;font-weight:500;line-height:1.45;text-align:center;box-shadow:0 10px 30px var(--jw-mc-shadow,rgba(0,0,0,.22));opacity:0;transition:opacity .22s ease,transform .22s ease;pointer-events:none;}
.jw-mc-toast.is-in{opacity:1;transform:translate(-50%,0);}

@media (prefers-reduced-motion:reduce){
	.jw-mc-toast{transition-duration:.01ms!important;}
}

/* --- Icon size + colour from the backend (Ben, Sep 2026) ---
   The trigger sits in the theme's own header, so its glyph needs a colour of
   its own: --jw-mc-icon defaults to the button colour, which is what every
   install looked like before this existed. Sizes come from the same place so
   the count badge keeps its offsets relative to the glyph. */
.jw-mc-open.jw-mc-shortcode,
.jw-mc-open.jw-mc-shortcode:hover,
.jw-mc-open.jw-mc-shortcode:focus{color:var(--jw-mc-icon,var(--jw-mc-btn))!important;}
.jw-mc-shortcode .jw-mc-open-text{color:var(--jw-mc-icon,var(--jw-mc-btn));}
.jw-mc-ico .jw-mc-svg{
	inline-size:var(--jw-mc-icon-size,24px)!important;
	block-size:var(--jw-mc-icon-size,24px)!important;
}

/* --- Discounted line + item meta (Ben, Sep 2026) ---
   The drawer now prints the same subtotal filter the cart and checkout use, so
   a discounted line arrives as <del>original</del> <ins>charged</ins>. Without
   these rules both prices render at the same weight and the line reads as two
   unrelated numbers. */
.jw-mc-line del{
	margin-inline-end:6px;
	color:var(--jw-mc-ink-3);
	font-weight:500;
	font-size:13px;
	text-decoration:line-through;
}
.jw-mc-line ins{
	text-decoration:none;
	color:var(--jw-mc-ink);
	font-weight:700;
	background:none;
}
/* Variation attributes and the rule's own note ("3 ב-99"). */
.jw-mc-meta{margin:-2px 0 6px;font-size:12px;line-height:1.4;color:var(--jw-mc-ink-3);}
.jw-mc-meta p{margin:0;font-size:inherit;color:inherit;}
.jw-mc-meta dl,.jw-mc-meta dt,.jw-mc-meta dd{margin:0;font-size:inherit;color:inherit;display:inline;}
.jw-mc-meta dt{font-weight:600;}
.jw-mc-meta dt::after{content:" ";}
.jw-mc-meta dd::after{content:", ";}
.jw-mc-meta dd:last-child::after{content:"";}

/* --- Stepped bar: the stretch already achieved is green; the striped fill
       beyond it is the progress towards the next milestone. --- */
/* isolation keeps the green layer's z-index inside the bar, under the milestone markers. */
.jw-mc-ship-bar{isolation:isolate;}
.jw-mc-ship-bar>i.jw-mc-ship-done{position:absolute;top:0;bottom:0;inset-inline-start:0;z-index:1;border-radius:99px;background:linear-gradient(90deg,#28c765,var(--jw-mc-ok));transition:width .7s cubic-bezier(.4,0,.2,1);}

/* --- Recommended products ---------------------------------------------
   One list, two homes: a column in the panel beside the drawer (desktop) and
   a one-row strip above the checkout button (phones / tablets). The panel is
   not inside the drawer, so it carries its own scoped reset. */
.jw-mc-reco-panel{display:none;}
.jw-mc-reco,.jw-mc-reco *{box-sizing:border-box;}
.jw-mc-reco-title{font-size:15px;font-weight:700;line-height:1.3;color:var(--jw-mc-ink);margin:0 0 12px;}
.jw-mc-reco ul.jw-mc-reco-list{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:10px;}
.jw-mc-reco li.jw-mc-reco-item{display:flex;align-items:center;gap:12px;margin:0!important;padding:10px!important;list-style:none!important;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px var(--jw-mc-line-soft),0 1px 2px rgba(0,0,0,.03);transition:box-shadow .15s;}
.jw-mc-reco li.jw-mc-reco-item::marker{content:none;}
.jw-mc-reco li.jw-mc-reco-item:hover{box-shadow:inset 0 0 0 1px var(--jw-mc-line),0 4px 14px rgba(0,0,0,.06);}
.jw-mc-reco a.jw-mc-reco-img{flex:0 0 64px;width:64px;height:64px;display:block;border-radius:10px;overflow:hidden;background:var(--jw-mc-tint);}
.jw-mc-reco a.jw-mc-reco-img img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;object-fit:cover;}
.jw-mc-reco .jw-mc-reco-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px;}
.jw-mc-reco a.jw-mc-reco-name,.jw-mc-reco a.jw-mc-reco-name:visited{font-size:13.5px;line-height:1.35;font-weight:600;color:var(--jw-mc-ink)!important;text-decoration:none!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.jw-mc-reco a.jw-mc-reco-name:hover{text-decoration:underline!important;text-underline-offset:3px;}
.jw-mc-reco .jw-mc-reco-price{font-size:13px;font-weight:700;color:var(--jw-mc-ink-2);line-height:1.3;}
.jw-mc-reco .jw-mc-reco-price del{font-weight:400;color:var(--jw-mc-ink-3);font-size:12px;margin-inline-end:4px;}
.jw-mc-reco .jw-mc-reco-price ins{text-decoration:none;}
.jw-mc-reco button.jw-mc-reco-add,.jw-mc-reco a.jw-mc-reco-add{flex:0 0 34px;width:34px!important;height:34px!important;min-height:0!important;display:inline-flex!important;align-items:center;justify-content:center;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--jw-mc-btn)!important;color:var(--jw-mc-btn-text)!important;box-shadow:none!important;text-decoration:none!important;cursor:pointer;line-height:1!important;transition:transform .12s ease,opacity .15s,background .15s;}
.jw-mc-reco button.jw-mc-reco-add:hover,.jw-mc-reco a.jw-mc-reco-add:hover{transform:scale(1.07);}
.jw-mc-reco button.jw-mc-reco-add:focus-visible,.jw-mc-reco a.jw-mc-reco-add:focus-visible{outline:2px solid var(--jw-mc-ring);outline-offset:2px;}
.jw-mc-reco a.jw-mc-reco-opt{background:#fff!important;color:var(--jw-mc-ink)!important;box-shadow:inset 0 0 0 1.5px var(--jw-mc-line)!important;}
.jw-mc-reco button.jw-mc-reco-add.is-busy{opacity:.45;pointer-events:none;}
.jw-mc-reco svg{flex:0 0 auto!important;max-width:none!important;}

/* Phones & tablets: a swipeable row of compact cards, right above checkout. */
.jw-mc-reco-strip{margin:4px -18px 12px;}
.jw-mc-reco-strip .jw-mc-reco-title{font-size:13px;margin:0 18px 8px;}
.jw-mc-reco-strip .jw-mc-reco ul.jw-mc-reco-list{flex-direction:row;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:18px;padding:1px 18px 4px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.jw-mc-reco-strip .jw-mc-reco ul.jw-mc-reco-list::-webkit-scrollbar{display:none;}
.jw-mc-reco-strip .jw-mc-reco li.jw-mc-reco-item{flex:0 0 236px;scroll-snap-align:start;gap:10px;padding:8px!important;background:var(--jw-mc-tint);box-shadow:none;}
.jw-mc-reco-strip .jw-mc-reco a.jw-mc-reco-img{flex-basis:52px;width:52px;height:52px;background:#fff;}
.jw-mc-reco-strip .jw-mc-reco a.jw-mc-reco-name{font-size:12.5px;}
.jw-mc-reco-strip .jw-mc-reco .jw-mc-reco-price{font-size:12.5px;}
.jw-mc-reco-strip .jw-mc-reco button.jw-mc-reco-add,.jw-mc-reco-strip .jw-mc-reco a.jw-mc-reco-add{flex-basis:30px;width:30px!important;height:30px!important;}

/* Desktop: a panel that slides out beside the open drawer. */
@media (min-width:1024px){
	.jw-mc-reco-strip{display:none;}
	.jw-mc-reco-panel{display:block;position:fixed;top:0;right:min(390px,92vw);width:300px;height:100%;z-index:2147482000;direction:rtl;overflow:hidden;padding:22px 18px 28px;background:var(--jw-mc-tint);color:var(--jw-mc-ink);box-shadow:-12px 0 32px rgba(0,0,0,.10);border-inline-end:1px solid var(--jw-mc-line-soft);transform:translateX(calc(100% + 400px));visibility:hidden;transition:transform .42s cubic-bezier(.4,0,.2,1) .06s,visibility .42s;}
	body.jw-mc-active .jw-mc-reco-panel.has-items{transform:none;visibility:visible;}
	.jw-mc-reco-panel .jw-mc-reco-title{font-size:16px;margin-bottom:14px;}
}
@media (prefers-reduced-motion:reduce){
	.jw-mc-reco-panel,.jw-mc-ship-bar>i.jw-mc-ship-done{transition-duration:.01ms!important;}
}

/* WooCommerce's sale-price screen-reader text — never visible, whatever the theme. */
.jw-mc-reco .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;}
/* Desktop panel: no scrolling — only the cards that fit whole (minicart.js fitReco). */
.jw-mc-reco-panel li.jw-mc-reco-item.is-cut{display:none!important;}

/* Cards are positioning containers: WooCommerce's absolutely positioned
   screen-reader spans inside them would otherwise escape the strip's scroll
   clipping and widen the whole drawer (sideways scroll on phones). */
.jw-mc-reco ul.jw-mc-reco-list{position:relative;}
.jw-mc-reco li.jw-mc-reco-item{position:relative;}
