.microshop-cart-page {
	--microshop-cart-card-padding: 16px;
	background: var(--microshop-background);
	color: var(--microshop-text);
	font-family: var(--microshop-font-family);
	min-height: 55vh;
	padding: var(--microshop-content-gap) 0 var(--microshop-section-gap);
}

.microshop-cart-page__container {
	margin: 0 auto;
	max-width: var(--microshop-container-width);
	padding: 0 var(--microshop-page-gutter, clamp(16px, 3.125vw, 48px));
	width: 100%;
}

.microshop-cart-page__header,
.microshop-cart-item,
.microshop-cart-summary,
.microshop-cart-empty {
	background: var(--microshop-surface);
	border: 1px solid var(--microshop-border);
	border-radius: var(--microshop-card-radius);
}

.microshop-cart-page__header {
	margin-bottom: var(--microshop-content-gap);
	padding: clamp(18px, 3vw, 30px);
	padding-bottom: var(--microshop-content-gap);
}

.microshop-cart-page__header h1,
.microshop-cart-summary h2,
.microshop-cart-summary h3 {
	color: var(--microshop-text);
	margin-top: 0;
}

.microshop-cart-notice {
	color: var(--microshop-muted);
}

.microshop-cart-ozon-info {
	background: var(--microshop-surface-alt);
	border-radius: var(--microshop-radius-sm);
	color: var(--microshop-text);
	margin: 0;
	padding: 14px 16px;
}

.microshop-cart-ozon-info p {
	color: var(--microshop-muted);
	margin: 5px 0 0;
}

.microshop-cart-notice.is-error {
	color: var(--microshop-danger);
}

.microshop-cart-layout {
	align-items: start;
	display: grid;
	gap: var(--microshop-content-gap);
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
}

.microshop-cart-main,
.microshop-cart-items {
	display: grid;
	gap: var(--microshop-card-gap);
}

.microshop-cart-item {
	align-items: center;
	display: grid;
	gap: 16px;
	grid-template-areas: "image info quantity price remove";
	grid-template-columns: 112px minmax(0, 1fr) 126px minmax(160px, 170px) 68px;
	padding: var(--microshop-cart-card-padding);
	transition: opacity 150ms ease;
}

.microshop-cart-item.is-loading {
	opacity: .6;
}

.microshop-cart-item__media {
	align-items: center;
	background: var(--microshop-product-media-background);
	border-radius: var(--microshop-radius-sm);
	box-sizing: border-box;
	display: flex;
	grid-area: image;
	height: 92px;
	justify-content: center;
	overflow: hidden;
	padding: 8px;
	width: 100%;
}

.microshop-cart-item__body {
	grid-area: info;
	min-width: 0;
}

.microshop-cart-item__media img {
	display: block;
	height: 100%;
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
	object-position: center;
	width: 100%;
}

.microshop-cart-item__body h2 {
	font-size: 18px;
	margin: 0 0 8px;
	overflow-wrap: anywhere;
}

.microshop-cart-item__body a {
	color: var(--microshop-text);
}

.microshop-cart-item__sku,
.microshop-cart-item__unit-price {
	color: var(--microshop-muted);
	font-size: 14px;
	margin: 4px 0;
}

.microshop-cart-item__quantity {
	align-items: center;
	display: flex;
	grid-area: quantity;
	justify-self: start;
	width: 126px;
}

.microshop-cart-item__quantity button,
.microshop-cart-item__quantity input {
	background: var(--microshop-surface-alt);
	border: 1px solid var(--microshop-border);
	color: var(--microshop-text);
	height: var(--microshop-control-height);
	text-align: center;
	width: 42px;
}

.microshop-cart-item__quantity button:first-of-type {
	border-radius: var(--microshop-radius-sm) 0 0 var(--microshop-radius-sm);
}

.microshop-cart-item__quantity button:nth-of-type(2) {
	border-radius: 0 var(--microshop-radius-sm) var(--microshop-radius-sm) 0;
}

.microshop-cart-item__quantity input {
	border-left: 0;
	border-radius: 0;
	border-right: 0;
	-moz-appearance: textfield;
}

.microshop-cart-item__quantity input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

.microshop-cart-item__quantity .microshop-cart-item__apply {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.microshop-cart-item__total {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	grid-area: price;
	justify-content: flex-start;
	justify-self: stretch;
	min-width: 0;
	white-space: nowrap;
}

.microshop-cart-item__price-old {
	color: var(--microshop-muted);
	font-size: .9em;
	font-weight: 400;
	text-decoration-thickness: 1px;
}

.microshop-cart-item__price-current {
	color: var(--microshop-text);
}

.microshop-cart-item__remove {
	background: transparent;
	border: 0;
	color: var(--microshop-danger);
	cursor: pointer;
	grid-area: remove;
	justify-self: end;
	padding: 8px;
}

.microshop-cart-summary {
	padding: clamp(18px, 3vw, 28px);
	position: sticky;
	top: 20px;
}

.microshop-cart-summary dl {
	margin-bottom: 0;
}

.microshop-cart-summary dl > div {
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 10px 0;
}

.microshop-cart-summary dd {
	margin: 0;
	text-align: right;
}

.microshop-cart-summary__total {
	border-top: 1px solid var(--microshop-border);
	font-size: 19px;
	font-weight: 700;
}

.microshop-commerce-checkout {
	margin-top: 18px;
}

.microshop-commerce-checkout form,
.microshop-commerce-checkout .microshop-button {
	height: auto;
	line-height: 1.3;
	min-height: var(--microshop-control-height);
	white-space: normal;
	width: 100%;
}

.microshop-commerce-checkout__blocked {
	color: var(--microshop-muted);
	font-size: 14px;
}

.microshop-commerce-checkout__helper {
	color: var(--microshop-muted);
	font-size: 14px;
	line-height: 1.45;
	margin: 0 0 10px;
}

.microshop-cart-empty {
	padding: clamp(20px, 4vw, 36px);
}

.microshop-cart-empty.is-hidden {
	display: none;
}

.microshop-cart-offers {
	margin-top: 24px;
}

.microshop-cart-offers > h2 {
	margin-inline-start: var(--microshop-cart-card-padding);
}

.microshop-cart-offers__grid {
	display: grid;
	gap: var(--microshop-card-gap);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.microshop-cart-offer {
	background: var(--microshop-surface-alt);
	border: 1px solid var(--microshop-border);
	border-radius: var(--microshop-radius-md);
	display: grid;
	gap: 14px;
	grid-template-columns: 110px minmax(0, 1fr);
	padding: 14px;
}

.microshop-cart-offer__media img {
	aspect-ratio: 1;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.microshop-cart-offer__media {
	background: var(--microshop-product-media-background, var(--microshop-surface));
	border-radius: var(--microshop-radius-sm);
	overflow: hidden;
}

@media (max-width: 900px) {
	.microshop-cart-layout {
		grid-template-columns: 1fr;
	}
	.microshop-cart-summary {
		position: static;
	}
	.microshop-cart-item {
		grid-template-columns: 90px minmax(0, 1fr) 126px minmax(160px, 170px) 68px;
	}
}

@media (max-width: 720px) {
	.microshop-cart-page {
		padding-top: var(--microshop-space-4, 16px);
	}
	.microshop-cart-page__header {
		padding-bottom: var(--microshop-space-4, 16px);
	}
	.microshop-cart-offers__grid {
		grid-template-columns: 1fr;
	}
	.microshop-cart-item {
		align-items: start;
		grid-template-areas:
			"image info info"
			"image quantity quantity"
			". price remove";
		grid-template-columns: 76px minmax(0, 1fr) auto;
	}
	.microshop-cart-item__media {
		height: 76px;
		padding: 6px;
	}
	.microshop-cart-item__quantity {
		justify-self: start;
	}
	.microshop-cart-item__total {
		justify-content: flex-start;
		justify-self: start;
	}
	.microshop-cart-item__remove {
		align-self: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.microshop-cart-item {
		transition: none;
	}
}

.microshop-commerce-promo {
	margin-top: var(--microshop-space-3, 12px);
}

.microshop-commerce-promo > p:not(.microshop-commerce-promo__error):first-child {
	border-top: 1px solid var(--microshop-border);
	margin: 0 0 10px;
	padding-top: var(--microshop-space-3, 12px);
}

.microshop-commerce-promo__form {
	display: flex;
	gap: 8px;
}

.microshop-commerce-promo__form input {
	background: var(--microshop-surface-alt);
	border: 1px solid var(--microshop-border);
	border-radius: var(--microshop-radius-sm);
	color: var(--microshop-text);
	min-width: 0;
	padding: 9px 11px;
}
