/**
 * MMX Shopify Checkout — slide-in cart drawer.
 * Tokens mirror the mechmaxx theme so the panel feels native to the page.
 */
.mmx-cart-scope{
	--mmx-or:#FF6A00; --mmx-or-d:#e85e00; --mmx-red:#ff2e1f;
	--mmx-ink:#15161a; --mmx-soft:#5d6470; --mmx-line:rgba(21,22,26,.10);
	--mmx-cream:#fdf7f2; --mmx-green:#00b67a;
	--mmx-ease:cubic-bezier(.33,1,.68,1);
}

/* lock the page behind the drawer */
html.mmx-cart-lock,body.mmx-cart-lock{overflow:hidden!important}

/* backdrop */
.mmx-cart-backdrop{
	position:fixed;inset:0;background:rgba(12,12,14,.46);
	-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
	opacity:0;visibility:hidden;transition:opacity .35s var(--mmx-ease),visibility .35s var(--mmx-ease);
	z-index:99998;
}
.mmx-cart-backdrop.mmx-open{opacity:1;visibility:visible}

/* panel */
.mmx-cart{
	position:fixed;top:0;right:0;height:100%;height:100dvh;width:min(424px,93vw);
	background:#fff;display:flex;flex-direction:column;
	transform:translateX(102%);transition:transform .44s var(--mmx-ease);
	z-index:99999;box-shadow:-34px 0 90px -34px rgba(21,22,26,.46);
	font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--mmx-ink);
}
.mmx-cart.mmx-open{transform:none}
.mmx-cart *{box-sizing:border-box}

/* header */
.mmx-cart__head{
	display:flex;align-items:center;justify-content:space-between;
	padding:21px 24px;border-bottom:1px solid var(--mmx-line);flex:0 0 auto;
}
.mmx-cart__title{
	font-family:'Archivo','Inter',sans-serif;font-weight:800;text-transform:uppercase;
	letter-spacing:.05em;font-size:14px;display:flex;align-items:center;gap:10px;margin:0;
}
.mmx-cart__title svg{width:19px;height:19px;stroke:var(--mmx-ink);fill:none;stroke-width:1.9}
.mmx-cart__count{
	display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 6px;
	border-radius:999px;background:var(--mmx-or);color:#fff;font-size:11px;font-weight:800;letter-spacing:0;
}
.mmx-cart__close{
	width:40px;height:40px;border-radius:50%;border:1px solid var(--mmx-line);background:#fff;
	display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--mmx-ink);
	transition:background .2s var(--mmx-ease),color .2s var(--mmx-ease),border-color .2s var(--mmx-ease),transform .2s var(--mmx-ease);
}
.mmx-cart__close:hover{background:var(--mmx-ink);color:#fff;border-color:var(--mmx-ink);transform:rotate(90deg)}
.mmx-cart__close svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.2}

/* free-shipping banner */
.mmx-cart__ship{
	display:flex;align-items:center;gap:9px;flex:0 0 auto;
	background:rgba(0,182,122,.09);color:#00855a;font-weight:600;font-size:12.5px;
	padding:12px 24px;border-bottom:1px solid var(--mmx-line);
}
.mmx-cart__ship svg{width:16px;height:16px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2.4}
.mmx-cart__ship b{font-weight:800}

/* body */
.mmx-cart__body{flex:1 1 auto;overflow-y:auto;padding:4px 24px 8px}

/* line item */
.mmx-cart__item{display:flex;gap:14px;padding:22px 0;border-bottom:1px solid var(--mmx-line)}
.mmx-cart__thumb{
	width:80px;height:80px;flex:0 0 auto;border-radius:15px;background:var(--mmx-cream);
	border:1px solid var(--mmx-line);object-fit:contain;padding:7px;
}
.mmx-cart__lines{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.mmx-cart__name{font-weight:700;font-size:14.5px;line-height:1.35;margin:0 0 6px}
.mmx-cart__instock{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--mmx-soft);margin-bottom:14px}
.mmx-cart__instock .mmx-dot{width:7px;height:7px;border-radius:50%;background:var(--mmx-green);flex:0 0 auto}
.mmx-cart__ctl{display:flex;align-items:center;justify-content:space-between;margin-top:auto}

/* qty stepper */
.mmx-qty{display:inline-flex;align-items:center;border:1px solid var(--mmx-line);border-radius:999px;background:#fff}
.mmx-qty button{
	width:34px;height:34px;background:transparent;border:0;font-size:18px;line-height:1;color:var(--mmx-ink);
	display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;
	transition:background .15s var(--mmx-ease),color .15s var(--mmx-ease);
}
.mmx-qty button:hover:not(:disabled){background:var(--mmx-cream);color:var(--mmx-or)}
.mmx-qty button:disabled{opacity:.35;cursor:default}
.mmx-qty__n{min-width:30px;text-align:center;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}

.mmx-cart__lineprice{font-family:'Archivo','Inter',sans-serif;font-weight:800;font-size:16px;text-align:right}
.mmx-cart__lineprice small{display:block;font-family:'Inter',sans-serif;font-weight:500;font-size:11.5px;color:var(--mmx-soft);text-decoration:line-through;margin-top:2px}

/* summary */
.mmx-cart__sum{padding:18px 0 2px}
.mmx-cart__row{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;color:var(--mmx-soft);padding:7px 0}
.mmx-cart__row b{color:var(--mmx-ink);font-weight:600}
.mmx-cart__row .mmx-free{color:var(--mmx-green);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:12.5px}
.mmx-cart__row .mmx-save{color:var(--mmx-or-d);font-weight:700}

/* footer */
.mmx-cart__foot{flex:0 0 auto;padding:16px 24px 20px;border-top:1px solid var(--mmx-line);background:#fff;display:flex;flex-direction:column;gap:13px}
.mmx-cart__total{display:flex;align-items:baseline;justify-content:space-between}
.mmx-cart__total-l{font-family:'Archivo','Inter',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:14px}
.mmx-cart__total-v{font-family:'Archivo','Inter',sans-serif;font-weight:900;font-size:27px;letter-spacing:-.01em}
.mmx-cart__total-v small{font-size:12.5px;font-weight:600;color:var(--mmx-soft);margin-left:4px}

.mmx-cart__go{
	display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:56px;
	font-family:'Archivo','Inter',sans-serif;font-weight:800;font-size:16px;letter-spacing:.02em;text-transform:uppercase;
	border:0;border-radius:999px;color:#fff;cursor:pointer;
	background:linear-gradient(100deg,var(--mmx-red) 0%,var(--mmx-or) 90%);
	box-shadow:0 16px 38px -12px rgba(255,62,21,.52);
	transition:transform .22s var(--mmx-ease),box-shadow .22s var(--mmx-ease);
}
.mmx-cart__go:hover{transform:translateY(-2px);box-shadow:0 24px 50px -12px rgba(255,62,21,.62)}
.mmx-cart__go:active{transform:translateY(0)}
.mmx-cart__go[disabled]{opacity:.9;cursor:default;transform:none}
.mmx-cart__go svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2.6}

.mmx-cart__err{color:#b00020;font-size:13px;line-height:1.4;text-align:center;margin:-2px 0 0}
.mmx-cart__err:empty{display:none}

.mmx-cart__cont{background:none;border:0;color:var(--mmx-soft);font-size:13px;font-weight:600;cursor:pointer;padding:2px;transition:color .2s var(--mmx-ease)}
.mmx-cart__cont:hover{color:var(--mmx-ink)}

.mmx-cart__trust{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11.5px;color:var(--mmx-soft)}
.mmx-cart__trust svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.2}
.mmx-cart__trust span{display:inline-flex;align-items:center;gap:5px}
.mmx-cart__trust i{width:3px;height:3px;border-radius:50%;background:var(--mmx-line);background:rgba(21,22,26,.22)}

/* spinner (shared loading state) */
@keyframes mmx-spin{to{transform:rotate(360deg)}}
.mmx-spinner{display:inline-block;box-sizing:border-box;width:1.2em;height:1.2em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.2em;animation:mmx-spin .6s linear infinite}

@media(max-width:480px){
	.mmx-cart{width:100vw}
	.mmx-cart__body{padding-left:20px;padding-right:20px}
	.mmx-cart__head,.mmx-cart__ship,.mmx-cart__foot{padding-left:20px;padding-right:20px}
}
