.sb-cart-root{
	position:fixed;
	inset:0;
	z-index:999999;
	pointer-events:none;
}

.sb-cart-overlay{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.45);
	opacity:0;
	transition:opacity .2s ease;
}

.sb-cart{
	position:absolute;
	top:0;
	right:0;
	height:100%;
	width:min(420px,92vw);
	background:var(--sb-bg);
	color:var(--sb-text);
	transform:translateX(105%);
	transition:transform .25s ease;
	box-shadow:0 20px 60px rgba(0,0,0,.25);
	border-left:1px solid var(--sb-secondary);
	border-top-left-radius:var(--sb-radius);
	border-bottom-left-radius:var(--sb-radius);
	overflow:auto;
	display:flex;
	flex-direction:column;
}

.sb-cart-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:16px;
	border-bottom:1px solid var(--sb-secondary);
}

.sb-cart-heading{
	display:flex;
	align-items:center;
	gap:10px;
	min-width:0;
}

.sb-cart-icon{
	width:18px;
	height:18px;
	fill:currentColor;
	flex:0 0 auto;
	opacity:.9;
	color:var(--sb-text);
}

.sb-cart-title{
	font-weight:700;
	font-size:16px;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.sb-cart-badge{
	margin-left:6px;
	background:var(--sb-primary);
	color:#fff;
	border-radius:999px;
	padding:2px 8px;
	font-size:12px;
	line-height:18px;
	flex:0 0 auto;
}

body.sb-cart-active .sb-close{
	background:transparent;
	border:1px solid var(--sb-secondary);
	width:50px ;
	height:40px ;
	border-radius:var(--sb-button-radius) !important;
	cursor:pointer;
	font-size:18px;
	line-height:6px;
	color:var(--sb-text);
	padding:5px;
	transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 160ms ease,filter 160ms ease;
}

.sb-cart .sb-qty-btn{
	box-sizing:border-box !important;
	width:36px !important;
	height:36px !important;
	min-width:36px !important;
	min-height:36px !important;
	padding:0 !important;
	border-radius:var(--sb-button-radius) !important;
	font-family:Arial,sans-serif !important;
	font-size:18px !important;
	font-weight:700 !important;
	line-height:34px !important;
	text-align:center !important;
}
.sb-cart .sb-close-icon{
	display:block !important;
	width:20px !important;
	height:20px !important;
	visibility:visible !important;
	opacity:1 !important;
	fill:none !important;
	color:var(--sb-text) !important;
}

.sb-cart .sb-close-icon path{
	fill:none !important;
	stroke:var(--sb-text) !important;
	stroke-width:2 !important;
}

body.sb-cart-active .sb-close:focus-visible{
	outline:2px solid var(--sb-primary);
	outline-offset:2px;
	border-color:var(--sb-primary);
}

/* .sb-close:hover{
	background:rgba(0,0,0,.04);
} */

.sb-cart-banner{
	padding:10px 16px;
	background:rgba(0,0,0,.03);
	border-bottom:1px solid var(--sb-secondary);
	font-size:13px;
}

.sb-timer{
	padding:10px 16px;
	border-bottom:1px solid var(--sb-secondary);
	font-size:13px;
}

.sb-timer-label{
	opacity:.8;
}

.sb-timer-time{
	margin-left:6px;
	font-weight:800;
	color:var(--sb-primary);
}

.sb-cart-body{
	flex:1 1 auto;
	overflow:visible;
	padding:12px 16px;
}

.sb-cart-sticky{
	overflow:hidden;
}

.sb-cart-sticky .sb-cart-body{
	overflow:auto;
}

.sb-cart-empty{
	margin:20px 0;
	text-align:center;
	opacity:.85;
}

.sb-cart-items{
	display:flex;
	flex-direction:column;
	gap:12px;
}

.sb-cart-item{
	display:flex;
	gap:12px;
	padding:12px;
	border:1px solid var(--sb-secondary);
	border-radius:var(--sb-radius);
}

.sb-cart-thumb{
	flex:0 0 auto;
}

.sb-cart-thumb img{
	width: 80px;
    height: 100% !important;
    object-fit: cover;
    border-radius: calc(var(--sb-radius) - 4px);
    max-height: 80px;
}

.sb-cart-item-main{
	flex:1 1 auto;
	min-width:0;
	display:flex;
	flex-direction:column;
	gap:6px;
}

.sb-cart-item-top{
	display:flex;
	justify-content:space-between;
	gap:12px;
	align-items:flex-start;
}

.sb-cart-item-title{
	font-weight:700;
	font-size:14px;
	/* overflow:hidden; */
	text-overflow:ellipsis;
}

.sb-cart-item-title a{
	color:inherit;
	text-decoration:none;
}

.sb-cart-item-title a:hover{
	text-decoration:underline;
}

.sb-cart-tag{
	margin-left:8px;
	font-weight:600;
	font-size:11px;
	padding:2px 6px;
	border-radius:999px;
	border:1px solid var(--sb-secondary);
	background:rgba(0,0,0,.03);
	vertical-align:middle;
}

.sb-cart-item-subtotal{
	font-size:13px;
	white-space:nowrap;
	font-weight:700;
}

.sb-cart-item-meta{
	font-size:12px;
	opacity:.75;
}

.sb-cart-item-meta dl{
	margin:0;
}

.sb-cart-item-bottom{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
}

.sb-unlock{
	margin:0 0 12px;
	padding:12px;
	border:1px solid var(--sb-secondary);
	border-radius:var(--sb-radius);
	background:rgba(0,0,0,.02);
}

.sb-unlock-text{
	font-size:13px;
	font-weight:700;
}

.sb-progress{
	margin-top:10px;
	height:8px;
	background:rgba(0,0,0,.08);
	border-radius:999px;
	overflow:hidden;
}

.sb-progress-bar{
	height:100%;
	width:0;
	background:var(--sb-primary);
	border-radius:999px;
}

.sb-qty{
	display:inline-flex;
	align-items:center;
	gap:6px;
}

.sb-qty-btn{
	width:43px;
	height:40px;
	border:1px solid var(--sb-quantity-border, var(--sb-secondary)) !important;
	background:var(--sb-quantity-background, var(--sb-bg)) !important;
	border-radius:var(--sb-button-radius);
	color:var(--sb-quantity-icon, var(--sb-text)) !important;
	appearance:none !important;
	-webkit-appearance:none !important;
	cursor:pointer;
	font-size:16px;
	line-height:30px;
	padding: 1px 12px;
	transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 160ms ease,filter 160ms ease;
}

.sb-qty-btn:hover{
	background:var(--sb-quantity-hover-background, var(--sb-primary)) !important;
	border-color:var(--sb-quantity-hover-border, var(--sb-primary)) !important;
	color:var(--sb-quantity-icon-hover, #fff) !important;
}
.sb-qty-btn:focus{
	background:var(--sb-quantity-hover-background, var(--sb-primary)) !important;
	border-color:var(--sb-quantity-hover-border, var(--sb-primary)) !important;
	color:var(--sb-quantity-icon-hover, #fff) !important;
}
.sb-qty-btn:active{
	filter:brightness(.92);
	transform:translateY(1px);
}

.sb-qty-btn:focus-visible{
	outline:2px solid var(--sb-primary);
	outline-offset:2px;
}

.sb-cart .sb-qty-input{
	width:58px;
	padding:6px 8px ;
	border:1px solid var(--sb-secondary) !important;
	background:var(--sb-bg) !important;
	border-radius:var(--sb-button-radius) !important;
	text-align:center;
}

.sb-remove-item{
    display:inline-flex;
	align-items:center;
	justify-content:center;
	background:var(--sb-remove-button, transparent) !important;
	border:1px solid var(--sb-remove-button-border, transparent) !important;
	padding:6px 10px;
	cursor:pointer;
	font-size:12px;
	text-decoration:none;
	border-radius:var(--sb-button-radius);
	color:var(--sb-remove-icon, var(--sb-text)) !important;
	appearance:none !important;
	-webkit-appearance:none !important;
	opacity:1;
	transition:background-color 160ms ease,color 160ms ease,opacity 160ms ease,transform 160ms ease,filter 160ms ease;
}

.sb-cart .sb-remove-item{
	box-sizing:border-box !important;
	width:36px !important;
	height:36px !important;
	min-width:36px !important;
	min-height:36px !important;
	padding:0 !important;
	border-radius:var(--sb-button-radius) !important;
	align-items:center !important;
	justify-content:center !important;
	font-size:0 !important;
	line-height:36px !important;
}

.sb-cart .sb-remove-item:not(:has(svg))::before{
	content:"";
	display:block;
	width:18px;
	height:18px;
	margin:auto;
	background-color:var(--sb-remove-icon, var(--sb-text)) !important;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 6h12l-1 14H7L6 6Zm2-2h8l1 2H7l1-2ZM3 6h18v2H3V6Zm5 4h2v7H8v-7Zm6 0h2v7h-2v-7Z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 6h12l-1 14H7L6 6Zm2-2h8l1 2H7l1-2ZM3 6h18v2H3V6Zm5 4h2v7H8v-7Zm6 0h2v7h-2v-7Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.sb-cart .sb-remove-item:not(:has(svg)):hover::before,
.sb-cart .sb-remove-item:not(:has(svg)):focus-visible::before{
	background-color:var(--sb-remove-icon-hover, #fff) !important;
}
.sb-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	opacity:.75;
	transition:opacity 160ms ease;
}

.sb-cart .sb-close:not(:has(svg))::before{
	content:"\00D7";
	display:block;
	color:var(--sb-text) !important;
	font-family:Arial,sans-serif !important;
	font-size:26px !important;
	font-weight:400 !important;
	line-height:26px !important;
}
.sb-remove-item .sb-icon,
.sb-remove-item .sb-icon svg{
	display:block !important;
	width:20px !important;
	height:20px !important;
	min-width:20px !important;
	min-height:20px !important;
	max-width:20px !important;
	max-height:20px !important;
	margin:0 auto !important;
	visibility:visible !important;
	opacity:1 !important;
	overflow:visible !important;
	fill:none !important;
	color:var(--sb-remove-icon, var(--sb-text)) !important;
	stroke:currentColor !important;
}

.sb-remove-item .sb-icon path{
	display:inline !important;
	visibility:visible !important;
	fill:none !important;
	color:var(--sb-remove-icon, var(--sb-text)) !important;
	stroke:currentColor !important;
	stroke-width:2 !important;
}

.sb-remove-item:hover .sb-icon{
	opacity:1;
}

.sb-remove-item:hover .sb-icon,
.sb-remove-item:hover .sb-icon path,
.sb-remove-item:focus-visible .sb-icon,
.sb-remove-item:focus-visible .sb-icon path{
	color:var(--sb-remove-icon-hover, #fff) !important;
	stroke:currentColor !important;
}

.sb-remove-item:hover .sb-icon path,
.sb-remove-item:focus-visible .sb-icon path{
	stroke:var(--sb-remove-icon-hover, #fff) !important;
}

.sb-remove-item:hover{
	background:var(--sb-remove-button-hover, var(--sb-primary)) !important;
	border-color:var(--sb-remove-button-hover-border, var(--sb-primary)) !important;
	color:var(--sb-remove-icon-hover, #fff) !important;
}

.sb-remove-item:active{
	filter:brightness(.9);
	transform:translateY(1px);
}

.sb-remove-item:focus-visible{
	outline:2px solid var(--sb-remove-button-focus, var(--sb-primary));
	outline-offset:2px;
	background:var(--sb-remove-button-hover, var(--sb-primary)) !important;
	border-color:var(--sb-remove-button-hover-border, var(--sb-primary)) !important;
	color:var(--sb-remove-icon-hover, #fff) !important;
}

.sb-remove-item:focus-visible .sb-icon{
	opacity:1;
}

.sb-add-offer{
	background:var(--sb-primary);
	color:#fff;
	border:0;
	border-radius:var(--sb-button-radius);
	padding:8px 10px;
	cursor:pointer;
	font-weight:800;
	font-size:12px;
	white-space:nowrap;
	transition:filter 160ms ease,transform 160ms ease,background-color 160ms ease,border-color 160ms ease;
}

.sb-add-offer:hover:not([disabled]){
	filter:brightness(.95);
}

.sb-add-offer:focus-visible{
	outline:2px solid var(--sb-primary);
	outline-offset:2px;
}

.sb-add-offer:active:not([disabled]){
	filter:brightness(.9);
	transform:translateY(1px);
}

.sb-add-offer[disabled]{
	opacity:.55;
	cursor:not-allowed;
}

.sb-offer-link{
	display:inline-block;
	text-decoration:none;
	border:1px solid var(--sb-secondary);
	border-radius:var(--sb-button-radius);
	padding:8px 10px;
	font-weight:800;
	font-size:12px;
	color:inherit;
	white-space:nowrap;
	transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 160ms ease,filter 160ms ease;
}

.sb-offer-link:hover{
	border-color:var(--sb-primary);
	color:var(--sb-primary);
}

.sb-offer-link:focus-visible{
	outline:2px solid var(--sb-primary);
	outline-offset:2px;
	border-color:var(--sb-primary);
}

.sb-offer-link:active{
	transform:translateY(1px);
}

.sb-toggle{
	display:inline-flex;
	align-items:center;
	gap:8px;
	position:relative;
}

.sb-toggle input[type="checkbox"]{
	position:absolute;
	opacity:0;
	width:1px;
	height:1px;
	margin:0;
	pointer-events:none;
}

.sb-toggle-label{
	display:inline-block;
	padding:8px 10px;
	border:1px solid var(--sb-secondary);
	border-radius:var(--sb-button-radius);
	background:var(--sb-bg);
	font-weight:800;
	font-size:12px;
	white-space:nowrap;
	cursor:pointer;
	transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 160ms ease,filter 160ms ease;
}

.sb-toggle-label:hover{
	border-color:var(--sb-primary);
}

.sb-toggle input:not(:checked) + .sb-toggle-label:active{
	transform:translateY(1px);
}

.sb-toggle input:focus-visible + .sb-toggle-label,
.sb-toggle input:focus-visible + .sb-toggle--label{
	outline:2px solid var(--sb-primary);
	outline-offset:2px;
}

.sb-toggle input:checked + .sb-toggle-label,
.sb-toggle input:checked + .sb-toggle--label{
	background:var(--sb-primary);
	border-color:var(--sb-primary);
	color:#fff;
}

.sb-toggle input:disabled + .sb-toggle-label,
.sb-toggle input:disabled + .sb-toggle--label{
	opacity:.55;
	cursor:not-allowed;
}

.sb-volume{
	margin-top:16px;
	padding-top:12px;
	border-top:1px solid var(--sb-secondary);
}

.sb-volume-title{
	margin:0 0 10px;
	font-size:13px;
	font-weight:800;
}

.sb-volume-tiers{
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:6px;
	font-size:12px;
	opacity:.9;
}

.sb-volume-tier{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding:8px 10px;
	border:1px solid var(--sb-secondary);
	border-radius:var(--sb-radius);
}

.sb-volume-tier.is-active{
	border-color:var(--sb-primary);
	background:rgba(0,0,0,.03);
}

.sb-volume-tier-label{
	display:flex;
	align-items:center;
	gap:6px;
	font-weight:800;
}

.sb-volume-tier-check{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:16px;
	height:16px;
	border-radius:999px;
	background:var(--sb-primary);
	color:#fff;
	font-size:11px;
	line-height:1;
}

.sb-volume-tier-price{
	white-space:nowrap;
	font-weight:800;
}

.sb-volume-tier-each{
	margin-left:4px;
	font-weight:700;
	opacity:.75;
}

/* .sb-remove-item:hover{
	opacity:1;
} */

.sb-upsells{
	margin-top:16px;
	padding-top:12px;
	border-top:1px solid var(--sb-secondary);
}

.sb-upsells-title{
	margin:0 0 10px;
	font-size:13px;
	font-weight:800;
}

.sb-upsells-items{
	display:flex;
	flex-direction:column;
	gap:10px;
}

.sb-upsells-item{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding:10px;
	border:1px dashed var(--sb-secondary);
	border-radius:var(--sb-radius);
}

.sb-upsells-name{
	font-size:13px;
	font-weight:700;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.sb-add-upsell{
	background:var(--sb-primary);
	color:#fff;
	border:0;
	border-radius:var(--sb-button-radius);
	padding:8px 10px;
	cursor:pointer;
	font-weight:800;
	font-size:12px;
	white-space:nowrap;
	transition:filter 160ms ease,transform 160ms ease,background-color 160ms ease;
}

.sb-add-upsell:hover:not([disabled]){
	filter:brightness(.95);
}

.sb-add-upsell:focus-visible{
	outline:2px solid var(--sb-primary);
	outline-offset:2px;
}

.sb-add-upsell:active:not([disabled]){
	filter:brightness(.9);
	transform:translateY(1px);
}

.sb-cart-footer{
	border-top:1px solid var(--sb-secondary);
	padding:14px 16px;
	background:var(--sb-bg);
}

.sb-cart-sticky .sb-cart-footer{
	/*position:absolute;*/
	bottom:0;
	left:0;
	right:0;
}

.sb-cart-subtotal{
	display:flex;
	align-items:center;
	justify-content:space-between;
	font-weight:800;
	margin-bottom:10px;
}

.sb-cart-note-label{
	display:block;
	font-size:12px;
	font-weight:800;
	margin:0 0 6px;
}

.sb-cart-note textarea{
	width:100%;
	border:1px solid var(--sb-secondary);
	border-radius:var(--sb-radius);
	padding:8px 10px;
	background:var(--sb-bg);
	color:var(--sb-text);
	resize:vertical;
}

.sb-cart-random-text{
	margin:10px 0;
	font-size:12px;
	opacity:.8;
}

.sb-checkout{
	display:block;
	text-align:center;
	background:var(--sb-checkout);
	color:var(--sb-checkout-text, #fff);
	text-decoration:none;
	padding:12px 14px;
	border-radius:var(--sb-button-radius);
	font-weight:900;
	transition:filter 160ms ease,transform 160ms ease,background-color 160ms ease;
}

.sb-checkout:hover{
	background:var(--sb-checkout-hover, var(--sb-checkout));
	color:var(--sb-checkout-hover-text, var(--sb-checkout-text, #fff));
	filter:var(--sb-checkout-hover-filter, brightness(.95));
}

.sb-checkout:focus-visible{
	outline:2px solid var(--sb-primary);
	outline-offset:2px;
}

.sb-checkout:active{
	filter:var(--sb-checkout-active-filter, brightness(.9));
	transform:translateY(1px);
}

@media (prefers-reduced-motion: reduce){
	body.sb-cart-active .sb-close,
	.sb-qty-btn,
	.sb-add-offer,
	.sb-offer-link,
	.sb-toggle-label,
	.sb-add-upsell,
	.sb-checkout{
		transition:none !important;
	}
}

.sb-cart-trust{
	margin-top:10px;
	font-size:12px;
	opacity:.85;
}

body.sb-cart-open{
	overflow:hidden;
}

body.sb-cart-open .sb-cart-root{
	pointer-events:auto;
}

body.sb-cart-open .sb-cart-overlay{
	opacity:1;
}

body.sb-cart-open .sb-cart{
	transform:translateX(0);
}

@media (max-width:420px){
	.sb-cart-thumb img{ width:56px; height:56px; }
	.sb-qty-input{
		 width:38px; 
		 font-size:12px;
	}
	.sb-qty-btn{
    font-size: 12px;
    line-height: 12px;
	color:var(--sb-quantity-icon, var(--sb-text)) !important;
	width:33px;
	height:30px;
	}
}
