html.dhsd-cart-drawer-open,
body.dhsd-cart-drawer-open {
	overflow:hidden !important;
}

body.dhsd-cart-drawer-active #woo-cart-panel,
body.dhsd-cart-drawer-active .ct-header-cart .ct-cart-content {
	display:none !important;
}

.dhsd-cart-drawer[hidden] {
	display:none !important;
}

.dhsd-cart-drawer {
	position:fixed;
	inset:0;
	z-index:999999;
	display:flex;
	justify-content:flex-end;
	font-family:var(--dhsd-body,system-ui,-apple-system,"Segoe UI",sans-serif);
	color:var(--dhsd-text,#202521);
}

.dhsd-cart-drawer__backdrop {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:0 !important;
	background:rgba(18,25,21,.42) !important;
	box-shadow:none !important;
	opacity:0;
	cursor:default;
	transition:opacity .24s ease;
	backdrop-filter:blur(2px);
}

.dhsd-cart-drawer__panel {
	position:relative;
	z-index:1;
	display:flex;
	flex-direction:column;
	width:min(440px,100%);
	height:100%;
	min-height:0;
	background:var(--dhsd-page-bg,#fff);
	box-shadow:-24px 0 70px rgba(19,31,23,.18);
	transform:translate3d(100%,0,0);
	transition:transform .28s cubic-bezier(.22,.75,.28,1);
	outline:0;
}

.dhsd-cart-drawer.is-open .dhsd-cart-drawer__backdrop {
	opacity:1;
}

.dhsd-cart-drawer.is-open .dhsd-cart-drawer__panel {
	transform:translate3d(0,0,0);
}

.dhsd-cart-drawer__header {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding:22px 24px 18px;
	border-bottom:1px solid var(--dhsd-border,#e8e2d8);
}

.dhsd-cart-drawer__header > div {
	display:flex;
	align-items:baseline;
	gap:10px;
	min-width:0;
}

.dhsd-cart-drawer__header h2 {
	margin:0;
	font:700 22px/1.2 var(--dhsd-product-title-font,var(--dhsd-body,system-ui,sans-serif));
	letter-spacing:-.025em;
	color:var(--dhsd-text,#202521);
}

.dhsd-cart-drawer__count {
	color:#687069;
	font-size:12px;
	font-weight:600;
	white-space:nowrap;
}

.dhsd-cart-drawer__status {
	position:absolute;
	z-index:2;
	top:74px;
	left:24px;
	right:24px;
	padding:9px 12px;
	border:1px solid color-mix(in srgb,var(--dhsd-primary,#355c45) 22%,#fff);
	border-radius:9px;
	background:#f3f7f4;
	color:var(--dhsd-primary,#355c45);
	font-size:12px;
	font-weight:650;
	opacity:0;
	pointer-events:none;
	transform:translateY(-6px);
	transition:opacity .18s ease,transform .18s ease;
}

.dhsd-cart-drawer__status.has-message {
	opacity:1;
	transform:translateY(0);
}

.dhsd-cart-drawer__status.is-error {
	border-color:#ebcaca;
	background:#fff4f4;
	color:#8f2727;
}

.dhsd-cart-drawer__close,
.dhsd-cart-drawer__remove {
	display:grid;
	place-items:center;
	flex:0 0 auto;
	margin:0 !important;
	padding:0 !important;
	border:1px solid var(--dhsd-border,#e8e2d8) !important;
	background:transparent !important;
	color:var(--dhsd-text,#202521) !important;
	box-shadow:none !important;
	cursor:pointer;
}

.dhsd-cart-drawer__close {
	width:42px;
	height:42px;
	border-radius:50% !important;
}

.dhsd-cart-drawer__remove {
	width:32px;
	height:32px;
	border:0 !important;
	border-radius:8px !important;
	color:#7b817d !important;
}

.dhsd-cart-drawer__close:hover,
.dhsd-cart-drawer__remove:hover {
	background:color-mix(in srgb,var(--dhsd-primary,#355c45) 7%,#fff) !important;
	color:var(--dhsd-primary,#355c45) !important;
}

.dhsd-cart-drawer__close svg,
.dhsd-cart-drawer__remove svg {
	width:20px;
	height:20px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.8;
	stroke-linecap:round;
}

.dhsd-cart-drawer__content {
	display:flex;
	flex:1 1 auto;
	min-height:0;
	flex-direction:column;
}

.dhsd-cart-drawer__items {
	flex:1 1 auto;
	min-height:0;
	margin:0;
	padding:10px 24px;
	list-style:none;
	overflow-y:auto;
	overscroll-behavior:contain;
}

.dhsd-cart-drawer__item {
	display:grid;
	grid-template-columns:82px minmax(0,1fr);
	gap:15px;
	padding:16px 0;
	border-bottom:1px solid color-mix(in srgb,var(--dhsd-border,#e8e2d8) 75%,transparent);
}

.dhsd-cart-drawer__item:last-child {
	border-bottom:0;
}

.dhsd-cart-drawer__thumb {
	align-self:start;
	width:82px;
	aspect-ratio:1122/1402;
	overflow:hidden;
	border:1px solid var(--dhsd-border,#e8e2d8);
	border-radius:12px;
	background:#f6f4ef;
}

.dhsd-cart-drawer__thumb a,
.dhsd-cart-drawer__thumb img {
	display:block;
	width:100%;
	height:100%;
}

.dhsd-cart-drawer__thumb img {
	object-fit:cover;
}

.dhsd-cart-drawer__details {
	display:flex;
	min-width:0;
	flex-direction:column;
	justify-content:space-between;
	gap:14px;
}

.dhsd-cart-drawer__item-top,
.dhsd-cart-drawer__item-bottom {
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:12px;
}

.dhsd-cart-drawer__item-bottom {
	align-items:center;
}

.dhsd-cart-drawer__name {
	display:block;
	margin:1px 0 0;
	color:var(--dhsd-text,#202521) !important;
	font:650 14px/1.42 var(--dhsd-product-title-font,var(--dhsd-body,system-ui,sans-serif));
	text-decoration:none !important;
	overflow-wrap:anywhere;
}

.dhsd-cart-drawer__name:hover {
	color:var(--dhsd-primary,#355c45) !important;
}

.dhsd-cart-drawer__meta {
	margin-top:5px;
	color:#727973;
	font-size:11px;
	line-height:1.45;
}

.dhsd-cart-drawer__meta dl,
.dhsd-cart-drawer__meta p {
	margin:0;
}

.dhsd-cart-drawer__meta dt,
.dhsd-cart-drawer__meta dd {
	display:inline;
	margin:0 4px 0 0;
}

.dhsd-cart-drawer__quantity {
	display:grid;
	grid-template-columns:34px 38px 34px;
	height:36px;
	overflow:hidden;
	border:1px solid var(--dhsd-border,#e8e2d8);
	border-radius:9px;
	background:#fff;
}

.dhsd-cart-drawer__quantity button,
.dhsd-cart-drawer__quantity input {
	width:100% !important;
	min-width:0 !important;
	height:34px !important;
	min-height:0 !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:0 !important;
	background:transparent !important;
	color:var(--dhsd-text,#202521) !important;
	font:600 13px/34px var(--dhsd-body,system-ui,sans-serif) !important;
	text-align:center;
	box-shadow:none !important;
}

.dhsd-cart-drawer__quantity button {
	font-size:17px !important;
	cursor:pointer;
}

.dhsd-cart-drawer__quantity button:hover {
	background:color-mix(in srgb,var(--dhsd-primary,#355c45) 7%,#fff) !important;
}

.dhsd-cart-drawer__quantity input {
	-moz-appearance:textfield;
}

.dhsd-cart-drawer__quantity input::-webkit-inner-spin-button,
.dhsd-cart-drawer__quantity input::-webkit-outer-spin-button {
	margin:0;
	-webkit-appearance:none;
}

.dhsd-cart-drawer__line-price {
	color:var(--dhsd-primary,#355c45);
	font-size:14px;
	font-weight:750;
	white-space:nowrap;
}

.dhsd-cart-drawer__summary {
	flex:0 0 auto;
	padding:18px 24px 12px;
	border-top:1px solid var(--dhsd-border,#e8e2d8);
	background:#fff;
}

.dhsd-cart-drawer__summary > div {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	font-size:15px;
}

.dhsd-cart-drawer__summary strong {
	color:var(--dhsd-text,#202521);
	font-size:17px;
}

.dhsd-cart-drawer__summary p {
	margin:7px 0 0;
	color:#737a74;
	font-size:11px;
	line-height:1.45;
}

.dhsd-cart-drawer__actions {
	display:grid;
	flex:0 0 auto;
	gap:10px;
	padding:10px 24px max(22px,env(safe-area-inset-bottom));
	background:#fff;
}

.dhsd-cart-drawer__checkout,
.dhsd-cart-drawer__continue {
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:50px;
	margin:0 !important;
	padding:11px 20px !important;
	border-radius:11px !important;
	font:700 14px/1.3 var(--dhsd-body,system-ui,sans-serif) !important;
	text-decoration:none !important;
	cursor:pointer;
}

.dhsd-cart-drawer__checkout {
	gap:10px;
	border:1px solid var(--dhsd-primary,#355c45) !important;
	background:var(--dhsd-primary,#355c45) !important;
	color:#fff !important;
	box-shadow:0 9px 22px color-mix(in srgb,var(--dhsd-primary,#355c45) 18%,transparent) !important;
}

.dhsd-cart-drawer__checkout:hover {
	background:color-mix(in srgb,var(--dhsd-primary,#355c45) 86%,#000) !important;
	color:#fff !important;
}

.dhsd-cart-drawer__continue {
	border:1px solid var(--dhsd-border,#e8e2d8) !important;
	background:#fff !important;
	color:var(--dhsd-text,#202521) !important;
	box-shadow:none !important;
}

.dhsd-cart-drawer__continue:hover {
	border-color:var(--dhsd-primary,#355c45) !important;
	color:var(--dhsd-primary,#355c45) !important;
}

.dhsd-cart-drawer__content--empty {
	align-items:center;
	justify-content:center;
	padding:42px 28px;
	text-align:center;
}

.dhsd-cart-drawer__empty-icon {
	display:grid;
	place-items:center;
	width:68px;
	height:68px;
	margin-bottom:18px;
	border-radius:50%;
	background:color-mix(in srgb,var(--dhsd-primary,#355c45) 8%,#fff);
	color:var(--dhsd-primary,#355c45);
}

.dhsd-cart-drawer__empty-icon svg {
	width:30px;
	height:30px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.55;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.dhsd-cart-drawer__content--empty h3 {
	margin:0 0 8px;
	font:700 20px/1.3 var(--dhsd-product-title-font,var(--dhsd-body,system-ui,sans-serif));
}

.dhsd-cart-drawer__content--empty p {
	max-width:290px;
	margin:0 0 22px;
	color:#6e756f;
	font-size:13px;
	line-height:1.6;
}

.dhsd-cart-drawer__continue--empty {
	max-width:260px;
}

.dhsd-cart-drawer.is-updating .dhsd-cart-drawer__content {
	pointer-events:none;
	opacity:.58;
}

.dhsd-cart-drawer :is(button,a,input):focus-visible {
	outline:3px solid color-mix(in srgb,var(--dhsd-primary,#355c45) 25%,transparent) !important;
	outline-offset:2px;
}

@media(max-width:520px) {
	.dhsd-cart-drawer__panel {
		width:100%;
	}
	.dhsd-cart-drawer__header {
		padding:17px 18px 14px;
	}
	.dhsd-cart-drawer__header h2 {
		font-size:19px;
	}
	.dhsd-cart-drawer__items {
		padding:7px 18px;
	}
	.dhsd-cart-drawer__item {
		grid-template-columns:72px minmax(0,1fr);
		gap:12px;
		padding:14px 0;
	}
	.dhsd-cart-drawer__thumb {
		width:72px;
	}
	.dhsd-cart-drawer__name {
		font-size:13px;
	}
	.dhsd-cart-drawer__summary {
		padding:15px 18px 10px;
	}
	.dhsd-cart-drawer__actions {
		padding:8px 18px max(16px,env(safe-area-inset-bottom));
	}
}

@media(prefers-reduced-motion:reduce) {
	.dhsd-cart-drawer__backdrop,
	.dhsd-cart-drawer__panel {
		transition:none !important;
	}
}
