body.jj-cart-open { overflow: hidden; }
.jj-mini-cart {
	position: fixed;
	inset: 0 0 0 auto;
	width: min(440px, 100%);
	max-width: 100%;
	height: 100%;
	height: 100dvh;
	max-height: 100dvh;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--jj-light, #faf7f2);
	color: var(--jj-text, #302923);
	direction: rtl;
	font-family: var(--jj-font-body);
	box-shadow: -12px 0 60px #30292326;
	transform: translateX(100%);
	transition: transform 240ms ease;
	overflow: hidden;
}
.jj-mini-cart[open] { display: flex; flex-direction: column; }
.jj-mini-cart.is-open { transform: translateX(0); }
.jj-mini-cart::backdrop { background: rgb(34 29 25 / 45%); backdrop-filter: blur(3px); }
.jj-mini-cart__header { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border-bottom: 1px solid var(--jj-border); }
.jj-mini-cart__header h2 { margin: 0; font-size: 1.25rem; line-height: 1.6; }
.jj-mini-cart__close { display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--jj-border); border-radius: 50%; background: #fff; color: var(--jj-text); cursor: pointer; }
.jj-mini-cart__close svg { width: 20px; height: 20px; }
.jj-mini-cart__body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px 24px max(24px, env(safe-area-inset-bottom)); }
.jj-mini-cart .widget_shopping_cart_content { display: flex; flex-direction: column; min-height: 100%; }
.jj-mini-cart ul.woocommerce-mini-cart { display: grid; gap: 16px; padding: 0; margin: 0 0 24px; list-style: none; }
.jj-mini-cart ul.woocommerce-mini-cart li { position: relative; display: block; min-height: 100px; padding: 16px; padding-inline: 112px 48px; margin: 0; border: 1px solid var(--jj-border); border-radius: 16px; background: #fff; overflow-wrap: anywhere; }
.jj-mini-cart ul.woocommerce-mini-cart li img { position: absolute; inset-inline-start: 12px; top: 16px; float: none; width: 84px; height: 84px; margin: 0; border-radius: 10px; object-fit: contain; background: var(--jj-light); }
.jj-mini-cart ul.woocommerce-mini-cart li a:not(.remove) { display: block; color: var(--jj-text); text-decoration: none; font-size: .9rem; font-weight: 600; line-height: 1.9; }
.jj-mini-cart ul.woocommerce-mini-cart li a.remove { position: absolute; inset-inline-end: 2px; inset-inline-start: auto; top: 8px; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; color: var(--jj-muted) !important; background: transparent; text-decoration: none; font: 26px/1 Arial, sans-serif; }
.jj-mini-cart ul.woocommerce-mini-cart li a.remove:hover { color: #8b342e !important; background: #fbefed; }
.jj-mini-cart .quantity { display: block; margin-top: 8px; color: var(--jj-text); font-size: .8rem; line-height: 1.9; font-variant-numeric: tabular-nums; }
.jj-mini-cart dl.variation { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 8px; padding: 0; margin: 8px 0; border: 0; font-size: .75rem; color: var(--jj-muted); }
.jj-mini-cart dl.variation :is(dt,dd,p) { float: none; margin: 0; padding: 0; line-height: 1.8; }
.jj-mini-cart .woocommerce-mini-cart__total { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin: auto 0 0; padding: 20px 0; border-top: 1px solid var(--jj-border); font-size: .95rem; }
.jj-mini-cart .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; }
.jj-mini-cart .woocommerce-mini-cart__buttons a.button { display: flex; align-items: center; justify-content: center; min-height: 50px; width: 100%; padding: 12px 18px; margin: 0; border: 1px solid var(--jj-dark); border-radius: 12px; background: transparent; color: var(--jj-text); text-decoration: none; font: 600 .95rem/1.7 var(--jj-font-body); box-shadow: none; }
.jj-mini-cart .woocommerce-mini-cart__buttons a.checkout { background: var(--jj-dark); color: #fff; }
.jj-mini-cart .woocommerce-mini-cart__buttons a:hover { background: var(--jj-border); color: var(--jj-text); transform: none; }
.jj-mini-cart .woocommerce-mini-cart__buttons a.checkout:hover { background: var(--jj-primary); color: #fff; }
.jj-mini-cart .woocommerce-mini-cart__empty-message { margin: auto; padding: 32px 0; text-align: center; color: var(--jj-muted); }
.jj-mini-cart :focus-visible { outline: 2px solid var(--jj-primary); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .jj-mini-cart { transition: none; } }
