div.page.cart {
	margin-top: var(--s4);
	margin-bottom: var(--s4);
}

div.page.cart div.cart-total {
	position: sticky;
	top: 90px;
}

div.page.cart div.cart-total h2 {
	margin-bottom: var(--s2);
}

div.page.cart div.cart-total>div {
	padding-bottom: var(--s2);
	margin-bottom: var(--s2);
	border-bottom: var(--border);
}

div.page.cart div.warning {
	background: var(--color-warning);
	padding: var(--s) var(--s2);
	margin: 0 0 var(--s2) 0;
	width: max-content;
	max-width: 100%;
	border-radius: var(--s);
}
div.page.cart div.cart-total > div.warning {
	padding: var(--s) var(--s2);
	margin: var(--s2) 0 0 0;
	border-bottom: 0;
}

div.page.cart div.cart-total>div div.title {
	font-weight: 600;
}

div.page.cart div.cart-total>div div.price {
	font-weight: 600;
	margin-left: auto;
}

div.page.cart div.content-block:not(:last-child) {
	margin-bottom: var(--s4);
}

div.page.cart div.cart-items.content-block {
	background: transparent;
	padding: 0;
}

div.page.cart div.cart-items>section {
	display: grid;
	grid-template-columns: auto auto 1fr 1fr 1fr 120px;
	grid-template-areas:
		"checkbox image title title quantity sum"
	;
	gap: var(--s4);
	padding: var(--s2);
	margin-bottom: var(--s-half);
	background-color: var(--color-100);
}

div.page.cart div.cart-items>section:last-child {
	margin-bottom: 0;
}

div.page.cart h1+label.w_label.w_checkbox input[type="checkbox"]+span::before {
	margin-right: var(--s4);
}

div.page.cart div.cart-items label.w_label.w_checkbox input[type="checkbox"]+span {
	padding: 0;
}

div.page.cart div.cart-items label.w_label.w_checkbox input[type="checkbox"]+span::before {
	margin-right: 0;
}

div.page.cart div.cart-checkbox {
	grid-area: checkbox;
}

div.page.cart div.cart-image {
	grid-area: image;
}

div.page.cart div.cart-image img {
	border-radius: var(--s2);
}

div.page.cart div.cart-title {
	grid-area: title;
}

div.page.cart div.cart-title div.btn {
	margin-top: var(--s);
}

div.page.cart div.cart-title a.title {
	font-weight: 600;
	text-decoration: none;
	color: var(--color-25);
	margin-bottom: var(--s);
	max-width: max-content;
	display: block;
}

div.page.cart div.cart-title a.cart-remove,
div.page.cart div.cart-title a.cart-favorite {
	font-size: var(--font-small);
	font-weight: normal;
	text-decoration: none;
	color: var(--color-50);
	max-width: max-content;
	display: block;
}

div.page.cart div.cart-title a.cart-remove.active {
	color: var(--color-attention)
}

div.page.cart div.cart-title a.cart-favorite.active {
	color: var(--color-button)
}

div.page.cart div.cart-quantity {
	grid-area: quantity;
}

div.page.cart .cart-price {
	font-size: var(--font-small);
	color: var(--color-50);	
	margin-top: var(--s);
}

div.page.cart .cart-price>span {
	display: flex;
	max-width: max-content;
	
}

div.page.cart .cart-price .price>span:after {
	margin-right: var(--s);
}

div.page.cart div.cart-sum {
	text-align: right;
	font-weight: 600;
	max-width: inherit;
	grid-area: sum;
}

div.page.cart div.cart-sum > div {
	margin-left: auto;
}

div.page.cart div.cart-sum .price.price-before {
	font-size: var(--font-small);
}

div.page.cart h1 {
	margin-bottom: var(--s2)
}

div.cart-city.content-block {
	overflow: inherit;
}

div.cart-city label.w_label.w_input {
	display: block;
}

div.page.cart .cart-variants .header {
	color: var(--color-75);
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}
div.page.cart .cart-variants .header .title {
	padding: var(--s);
	display: flex;
	flex-grow:1;
}

div.page.cart .cart-variants .header .period {
	padding: var(--s);
	display: flex;
	justify-content: flex-end;
	flex: 1 1 20%;
	max-width: 20%;
}

div.page.cart .cart-variants .header .price {
	padding: var(--s);
	display: flex;
	justify-content: flex-end;
	flex: 1 1 20%;
	max-width: 20%;
}

div.page.cart .cart-variants label.w_label.w_radio {
	width: 100%;
	max-width: 100%;
	border-bottom: var(--border);
	flex-flow: row wrap;
}

div.page.cart .cart-variants label.w_label.w_radio:first-of-type {
	border-radius: var(--s2) var(--s2) 0 0;
}

div.page.cart .cart-variants label.w_label.w_radio:last-of-type {
	border-bottom: none;
	border-radius: 0 0 var(--s2) var(--s2);
}

div.page.cart .cart-variants label.w_label.w_radio:hover {
	background: var(--color-95);
}

div.page.cart .cart-variants label.w_label.w_radio span.title {
	padding: var(--s);
	display: flex;
	flex-grow:1;
	min-width: 60%;
}

div.page.cart .cart-variants label.w_label.w_radio span.period {
	padding: var(--s);
	display: flex;
	justify-content: flex-end;
	flex: 1 1 20%;
	max-width: 20%;
}

div.page.cart .cart-variants label.w_label.w_radio span.price {
	padding: var(--s);
	display: flex;
	justify-content: flex-end;
	flex: 1 1 20%;
	max-width: 20%;
}

div.page.cart .cart-variants label.w_label.w_radio span.text {
	padding-left: calc(var(--s) * 7);
	width: 80%;
}

div.page.cart .cart-variants label.w_label.w_radio span.attention {
	color: var(--color-75);
}

div.page.cart .cart-variants label.w_label.w_radio input:checked+.title+.period+.price+.text,
div.page.cart .cart-variants label.w_label.w_radio input:checked+.title+.period+.price+.text+.price,
div.page.cart .cart-variants label.w_label.w_radio input:checked+.title+.text,
div.page.cart .cart-variants label.w_label.w_radio input:checked+.title+.text+.price {
	color: var(--color-success);
}


@media screen and (max-width: 480px) {
	div.page.cart div.cart-items>section {
		grid-template-columns: auto repeat(3, 1fr);
		grid-template-areas:
			"checkbox image title title"
			". . quantity sum"
		;
	}	
}