html.dpsc-lock,
body.dpsc-lock{
	overflow:hidden!important;
}

.dpsc-root{
	position:fixed;
	inset:0;
	z-index:999999;
	pointer-events:none;
	visibility:hidden;
}

.dpsc-overlay{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	border:0;
	border-radius:0;
	background:rgba(0,0,0,.52);
	opacity:0;
	cursor:pointer;
	transition:opacity .38s ease;
}

.dpsc-drawer{
	position:absolute;
	top:0;
	right:0;
	display:flex;
	flex-direction:column;
	width:min(430px,100vw);
	height:100%;
	height:100dvh;
	margin:0;
	padding:0;
	background:#fff;
	color:#111;
	box-shadow:-12px 0 36px rgba(0,0,0,.08);
	outline:0;
	transform:translate3d(100%,0,0);
	transition:transform .42s cubic-bezier(.22,.61,.36,1);
}

.dpsc-root.is-open{
	pointer-events:auto;
	visibility:visible;
}

.dpsc-root.is-open .dpsc-overlay{
	opacity:1;
}

.dpsc-root.is-open .dpsc-drawer{
	transform:translate3d(0,0,0);
}

.dpsc-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex:0 0 auto;
	min-height:104px;
	padding:26px 32px 22px;
	box-sizing:border-box;
}

.dpsc-header h2{
	margin:0!important;
	padding:0!important;
	font-size:29px!important;
	font-weight:400!important;
	line-height:1.15!important;
	letter-spacing:0!important;
	text-transform:none!important;
}

.dpsc-close,
.dpsc-remove{
	position:relative;
	flex:0 0 auto;
	width:30px;
	height:30px;
	margin:0;
	padding:0;
	border:0;
	border-radius:0;
	background:transparent;
	color:#111;
	cursor:pointer;
}

.dpsc-close span::before,
.dpsc-close span::after,
.dpsc-remove span::before,
.dpsc-remove span::after{
	content:'';
	position:absolute;
	left:50%;
	top:50%;
	width:20px;
	height:1px;
	background:currentColor;
	transform:translate(-50%,-50%) rotate(45deg);
}

.dpsc-close span::after,
.dpsc-remove span::after{
	transform:translate(-50%,-50%) rotate(-45deg);
}

.dpsc-live{
	display:flex;
	flex:1 1 auto;
	min-height:0;
	flex-direction:column;
}

.dpsc-items{
	flex:1 1 auto;
	min-height:0;
	padding:0 32px 24px;
	overflow-y:auto;
	overscroll-behavior:contain;
	scrollbar-width:thin;
}

.dpsc-item{
	display:grid;
	grid-template-columns:112px minmax(0,1fr);
	gap:16px;
	margin:0 0 30px;
	padding:0;
}

.dpsc-item-image{
	width:112px;
	height:112px;
	background:#f7f7f7;
	overflow:hidden;
}

.dpsc-item-image a,
.dpsc-item-image img{
	display:block;
	width:100%!important;
	height:100%!important;
	margin:0!important;
	object-fit:contain;
}

.dpsc-item-details{
	min-width:0;
	padding-top:2px;
}

.dpsc-item-heading{
	display:flex;
	position:relative;
	padding-right:28px;
}

.dpsc-item-name{
	display:block;
	color:#111!important;
	font-size:14px;
	font-weight:400;
	line-height:1.3;
	text-decoration:none!important;
}

.dpsc-item-badge{
	display:block;
	width:100%;
	margin:0 0 7px;
}

.dpsc-item-badge .dpfp-cart-type-label{
	display:inline-flex!important;
	margin:0!important;
}

.dpsc-item-size,
.dpsc-quantity{
	display:block!important;
	clear:both;
	margin-top:5px!important;
}

.dpsc-item-size{
	color:#444;
	font-size:11px;
	font-weight:400;
	line-height:1.35;
}

.dpsc-box-summary{
	display:block;
	margin:2px 0 0;
	color:#444;
	font-size:11px;
	font-weight:400;
	line-height:1.35;
}

.dpsc-remove{
	position:absolute;
	top:-6px;
	right:-6px;
	width:24px;
	height:24px;
	border:1px solid #bbb;
	border-radius:50%;
	color:#777;
}

.dpsc-remove span::before,
.dpsc-remove span::after{
	width:10px;
}

.dpsc-item-size,
.dpsc-quantity,
.dpsc-item-meta,
.dpsc-item-meta dl,
.dpsc-item-meta p{
	margin:5px 0 0!important;
	color:#444;
	font-size:11px!important;
	font-weight:400;
	line-height:1.35!important;
}

.dpsc-item-meta dl.variation{
	display:block;
}

.dpsc-item-meta dl.variation dt,
.dpsc-item-meta dl.variation dd{
	display:inline;
	float:none;
	margin:0!important;
	padding:0!important;
	font:inherit;
}

.dpsc-item-meta dl.variation dt::after{
	content:' ';
}

.dpsc-item-meta dl.variation dd::after{
	content:'';
	display:block;
}

.dpsc-item-price{
	margin-top:16px;
	color:#111;
	font-size:15px;
	line-height:1.2;
}

.dpsc-footer{
	flex:0 0 auto;
	padding:0 32px 30px;
	background:#fff;
}

.dpsc-total{
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:61px;
	margin:0 0 62px;
	border-top:1px solid #d6d6d6;
	border-bottom:1px solid #d6d6d6;
	font-size:18px;
}

.dpsc-total strong{
	font-size:18px;
	font-weight:400;
}

.dpsc-button{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:46px;
	box-sizing:border-box;
	font-size:14px;
	font-weight:500;
	line-height:1.2;
	text-align:center;
	text-decoration:none!important;
	transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}

.dpsc-button--primary{
	border:1px solid #000;
	background:#000;
	color:#fff!important;
}

.dpsc-button--primary:hover{
	background:#bc003b;
	border-color:#bc003b;
	color:#fff!important;
}

.dpsc-button--secondary{
	min-height:42px;
	border:0;
	background:#fff;
	color:#111!important;
	font-size:12px;
}

.dpsc-button--secondary:hover{
	color:#bc003b!important;
}

.dpsc-empty{
	display:flex;
	flex:1 1 auto;
	min-height:0;
	flex-direction:column;
	justify-content:center;
	padding:32px;
	text-align:center;
}

.dpsc-empty p{
	margin:0 0 24px;
	font-size:16px;
}

.dpsc-root.is-loading .dpsc-live{
	opacity:.55;
	pointer-events:none;
}

.dpsc-add-error{
	width:100%;
	margin:0 0 10px;
	color:#bc003b;
	font-size:12px;
	line-height:1.35;
}

@media (max-width:600px){
	.dpsc-drawer{
		width:calc(100vw - 30px);
		max-width:calc(100vw - 30px);
	}

	.dpsc-header{
		min-height:88px;
		padding:22px 24px 18px;
	}

	.dpsc-header h2{
		font-size:26px!important;
	}

	.dpsc-items{
		padding-left:24px;
		padding-right:24px;
	}

	.dpsc-footer{
		padding-left:24px;
		padding-right:24px;
	}

	.dpsc-item{
		grid-template-columns:96px minmax(0,1fr);
		gap:14px;
	}

	.dpsc-item-image{
		width:96px;
		height:96px;
	}

	.dpsc-total{
		margin-bottom:30px;
	}
}

@media (prefers-reduced-motion:reduce){
	.dpsc-overlay,
	.dpsc-drawer{
		transition-duration:.01ms!important;
	}
}
