.lemon-cart-drawer {
	--lcd-panel-width: 640px;
	--lcd-panel-background: #fff;
	--lcd-text-color: #191d1e;
	--lcd-overlay-color: rgba(25, 29, 30, 0.28);
	--lcd-transition: 320ms ease;

	--lcd-trigger-size: 36px;
	--lcd-trigger-gap: 8px;
	--lcd-trigger-padding: 0;
	--lcd-trigger-radius: 0;
	--lcd-trigger-color: #191d1e;
	--lcd-trigger-color-hover: #191d1e;
	--lcd-trigger-background: transparent;
	--lcd-trigger-background-hover: transparent;
	--lcd-icon-size: 28px;
	--lcd-badge-size: 20px;
	--lcd-badge-offset-top: -2px;
	--lcd-badge-offset-right: -2px;
	--lcd-badge-background: #191d1e;
	--lcd-badge-color: #fff;

	--lcd-header-padding: 34px 30px;
	--lcd-header-gap: 24px;
	--lcd-header-border-width: 1px;
	--lcd-header-border-color: #e6decc;
	--lcd-title-color: var(--lcd-text-color);
	--lcd-close-color: var(--lcd-text-color);
	--lcd-close-icon-size: 28px;
	--lcd-close-gap: 18px;

	--lcd-body-padding: 30px;
	--lcd-item-gap: 28px;
	--lcd-item-column-gap: 24px;
	--lcd-image-width: 96px;
	--lcd-image-height: 130px;
	--lcd-product-title-color: var(--lcd-text-color);
	--lcd-product-title-offset-top: 0;
	--lcd-product-title-spacing: 24px;
	--lcd-meta-color: #000;
	--lcd-meta-spacing: 22px;
	--lcd-price-color: #8a786b;
	--lcd-remove-color: var(--lcd-text-color);
	--lcd-actions-gap: 18px;
	--lcd-qty-color: var(--lcd-text-color);
	--lcd-qty-gap: 18px;
	--lcd-qty-button-size: 22px;
	--lcd-side-min-width: 150px;
	--lcd-empty-color: var(--lcd-text-color);
	--lcd-empty-padding: var(--lcd-body-padding);
	--lcd-empty-align-items: flex-start;
	--lcd-empty-justify-content: flex-start;
	--lcd-empty-text-align: left;

	--lcd-footer-padding: 28px 30px 30px;
	--lcd-footer-background: var(--lcd-panel-background);
	--lcd-summary-color: var(--lcd-text-color);
	--lcd-summary-gap: 24px;
	--lcd-shipping-color: #000;
	--lcd-shipping-title-color: #000;
	--lcd-shipping-message-color: #000;
	--lcd-shipping-amount-color: #000;
	--lcd-shipping-track-background: #000;
	--lcd-shipping-fill-background: repeating-linear-gradient(135deg, #f6f0e2 0 18px, #efe7d7 18px 36px);
	--lcd-shipping-track-border-color: #191d1e;
	--lcd-shipping-track-height: 18px;
	--lcd-shipping-track-border-width: 2px;
	--lcd-shipping-track-radius: 999px;
	--lcd-shipping-margin: 70px 0 70px;
	--lcd-shipping-bar-margin: 22px 0 22px;
	--lcd-button-background: #191d1e;
	--lcd-button-background-hover: #000;
	--lcd-button-color: #fff;
	--lcd-button-color-hover: #fff;
	--lcd-button-padding: 22px 28px;
	--lcd-button-radius: 0;

	color: var(--lcd-text-color);
}

.lemon-cart-drawer__toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--lcd-trigger-gap);
	min-width: var(--lcd-trigger-size);
	min-height: var(--lcd-trigger-size);
	padding: var(--lcd-trigger-padding) !important;
	border: 0 !important;
	border-radius: var(--lcd-trigger-radius) !important;
	background: var(--lcd-trigger-background) !important;
	color: var(--lcd-trigger-color) !important;
	cursor: pointer;
	font: inherit;
	text-decoration: none;
	appearance: none;
	-webkit-appearance: none;
}

.lemon-cart-drawer__toggle:hover,
.lemon-cart-drawer__toggle:focus-visible {
	background: var(--lcd-trigger-background-hover) !important;
	color: var(--lcd-trigger-color-hover) !important;
}

.lemon-cart-drawer__icon-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--lcd-trigger-size);
	height: var(--lcd-trigger-size);
	flex: 0 0 auto;
}

.lemon-cart-drawer__icon {
	display: block;
	width: var(--lcd-icon-size);
	height: var(--lcd-icon-size);
	color: currentColor;
	font-size: var(--lcd-icon-size);
	line-height: 1;
}

.lemon-cart-drawer__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.lemon-cart-drawer__badge {
	position: absolute;
	top: var(--lcd-badge-offset-top);
	right: var(--lcd-badge-offset-right);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--lcd-badge-size);
	height: var(--lcd-badge-size);
	border-radius: 999px;
	background: var(--lcd-badge-background);
	color: var(--lcd-badge-color);
	font-size: calc(var(--lcd-badge-size) * 0.58);
	font-weight: 700;
	line-height: 1;
}

.lemon-cart-drawer__trigger-text,
.lemon-cart-drawer__trigger-total {
	display: block;
	white-space: nowrap;
}

.lemon-cart-drawer__overlay {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: var(--lcd-overlay-color);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--lcd-transition), visibility var(--lcd-transition);
}

.lemon-cart-drawer__overlay[hidden] {
	display: none;
}

.lemon-cart-drawer__panel {
	position: fixed;
	inset: 0 0 0 auto;
	z-index: 9999;
	width: var(--lcd-panel-width);
	max-width: 100vw;
	height: 100vh;
	height: 100dvh;
	background: var(--lcd-panel-background);
	color: var(--lcd-text-color);
	overflow: hidden;
	transform: translate3d(100%, 0, 0);
	transition: transform var(--lcd-transition);
}

.lemon-cart-drawer.is-position-left .lemon-cart-drawer__panel {
	inset: 0 auto 0 0;
	transform: translate3d(-100%, 0, 0);
}

.lemon-cart-drawer.is-open .lemon-cart-drawer__overlay {
	opacity: 1;
	visibility: visible;
}

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

body.lemon-cart-drawer-lock {
	overflow: hidden;
}

.lemon-cart-drawer__panel-inner {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 100%;
	background: var(--lcd-panel-background);
}

.lemon-cart-drawer__header {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	gap: var(--lcd-header-gap);
	padding: var(--lcd-header-padding);
	border-bottom: var(--lcd-header-border-width) solid var(--lcd-header-border-color);
}

.lemon-cart-drawer__title {
	margin: 0;
	color: var(--lcd-title-color);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
}

.lemon-cart-drawer__close {
	display: inline-flex;
	align-items: center;
	gap: var(--lcd-close-gap);
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--lcd-close-color) !important;
	cursor: pointer;
	font: inherit;
	text-transform: uppercase;
	appearance: none;
	-webkit-appearance: none;
}

.lemon-cart-drawer__close-icon {
	display: block;
	flex: 0 0 auto;
	width: var(--lcd-close-icon-size);
	height: var(--lcd-close-icon-size);
	color: currentColor;
	font-size: var(--lcd-close-icon-size);
	line-height: 1;
}

.lemon-cart-drawer__close-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

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

.lemon-cart-drawer__body {
	flex: 1 1 auto;
	min-height: 0;
	padding: var(--lcd-body-padding);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.lemon-cart-drawer__body--empty {
	display: flex;
	align-items: var(--lcd-empty-align-items);
	justify-content: var(--lcd-empty-justify-content);
	padding: var(--lcd-empty-padding);
}

.lemon-cart-drawer__empty {
	margin: 0;
	color: var(--lcd-empty-color);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	text-align: var(--lcd-empty-text-align);
	text-transform: uppercase;
}

.lemon-cart-drawer__items {
	display: flex;
	flex-direction: column;
	gap: var(--lcd-item-gap);
	padding: 0;
	margin: 0;
	list-style: none;
}

.lemon-cart-drawer__item {
	display: grid;
	grid-template-columns: var(--lcd-image-width) minmax(0, 1fr) auto;
	gap: var(--lcd-item-column-gap);
	align-items: start;
}

.lemon-cart-drawer__thumb {
	width: var(--lcd-image-width);
	height: var(--lcd-image-height);
	background: #f5f5f5;
	overflow: hidden;
}

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

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

.lemon-cart-drawer__details {
	min-width: 0;
}

.lemon-cart-drawer__product-title {
	margin: var(--lcd-product-title-offset-top) 0 var(--lcd-product-title-spacing);
	color: var(--lcd-product-title-color);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
}

.lemon-cart-drawer__product-title a {
	color: inherit;
	text-decoration: none;
}

.lemon-cart-drawer__meta {
	margin: 0 0 var(--lcd-meta-spacing);
	color: var(--lcd-meta-color);
	font-size: 18px;
	line-height: 1.3;
	text-transform: uppercase;
}

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

.lemon-cart-drawer__meta dt,
.lemon-cart-drawer__meta dd {
	display: inline;
	margin: 0;
}

.lemon-cart-drawer__meta dd::after,
.lemon-cart-drawer__meta-line {
	display: block;
	content: "";
}

.lemon-cart-drawer__meta-label,
.lemon-cart-drawer__meta-value {
	display: inline;
}

.lemon-cart-drawer__qty {
	display: inline-flex;
	align-items: center;
	gap: var(--lcd-qty-gap);
	color: var(--lcd-qty-color);
	font-size: 18px;
	line-height: 1;
}

.lemon-cart-drawer__qty-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--lcd-qty-button-size);
	height: var(--lcd-qty-button-size);
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: inherit !important;
	cursor: pointer;
	font: inherit;
	line-height: 1;
	appearance: none;
	-webkit-appearance: none;
}

.lemon-cart-drawer__side {
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	justify-content: space-between;
	min-width: var(--lcd-side-min-width);
	min-height: var(--lcd-image-height);
	text-align: right;
}

.lemon-cart-drawer__price {
	color: var(--lcd-price-color);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.lemon-cart-drawer__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--lcd-actions-gap);
	flex-wrap: wrap;
}

.lemon-cart-drawer__remove,
.lemon-cart-drawer__change-size {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--lcd-remove-color) !important;
	cursor: pointer;
	font: inherit;
	text-align: right;
	text-transform: uppercase;
	appearance: none;
	-webkit-appearance: none;
}

.lemon-cart-drawer__remove:hover,
.lemon-cart-drawer__remove:focus-visible,
.lemon-cart-drawer__change-size:hover,
.lemon-cart-drawer__change-size:focus-visible {
	opacity: 0.72;
}

.lemon-cart-drawer__footer {
	flex: 0 0 auto;
	padding: var(--lcd-footer-padding);
	background: var(--lcd-footer-background);
}

.lemon-cart-drawer__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--lcd-summary-gap);
	color: var(--lcd-summary-color);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.lemon-cart-drawer__summary-total {
	color: var(--lcd-price-color);
	font-weight: inherit;
}

.lemon-cart-drawer__shipping-message {
	margin: var(--lcd-shipping-margin, 70px 0 70px);
	color: var(--lcd-shipping-color, #000);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 26px;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.lemon-free-shipping-progress {
	margin: var(--lcd-shipping-margin, 70px 0 70px);
	text-align: center;
}

.lemon-free-shipping-progress__title {
	margin: 0;
	color: var(--lcd-shipping-title-color, #000);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: uppercase;
}

.lemon-free-shipping-progress__bar {
	position: relative;
	height: var(--lcd-shipping-track-height, 18px);
	margin: var(--lcd-shipping-bar-margin, 22px 0 22px);
	border: var(--lcd-shipping-track-border-width, 2px) solid var(--lcd-shipping-track-border-color, #191d1e);
	border-radius: var(--lcd-shipping-track-radius, 999px);
	background: var(--lcd-shipping-track-background, #000);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
	overflow: hidden;
}

.lemon-free-shipping-progress__fill {
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--lfsp-progress, 0%);
	min-width: 0;
	max-width: 100%;
	border-radius: inherit;
	background: var(--lcd-shipping-fill-background, repeating-linear-gradient(135deg, #f6f0e2 0 18px, #efe7d7 18px 36px));
}

.lemon-free-shipping-progress__message {
	margin: 0;
	color: var(--lcd-shipping-message-color, #000);
	font-size: 18px;
	line-height: 1.35;
}

.lemon-free-shipping-progress__message strong {
	color: var(--lcd-shipping-amount-color, currentColor);
	font-weight: 700;
}

.lemon-cart-drawer__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--lcd-button-padding);
	border-radius: var(--lcd-button-radius);
	background: var(--lcd-button-background);
	color: var(--lcd-button-color);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

.lemon-cart-drawer__button:hover,
.lemon-cart-drawer__button:focus-visible {
	background: var(--lcd-button-background-hover);
	color: var(--lcd-button-color-hover);
}

.lemon-cart-drawer.is-loading .lemon-cart-drawer__dynamic {
	pointer-events: none;
	opacity: 0.55;
}

@media (max-width: 767px) {
	.lemon-cart-drawer__panel {
		width: 100vw;
	}

	.lemon-cart-drawer__item {
		grid-template-columns: minmax(74px, var(--lcd-image-width)) minmax(0, 1fr);
	}

	.lemon-cart-drawer__side {
		grid-column: 2;
		align-items: flex-start;
		min-height: 0;
		text-align: left;
		gap: 16px;
	}

	.lemon-cart-drawer__actions {
		justify-content: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lemon-cart-drawer__overlay,
	.lemon-cart-drawer__panel {
		transition: none;
	}
}
