.cart-panel-overlay {
	position         : fixed;
	top              : 0;
	right            : 0;
	height           : 100vh;
	width            : 100%;
	z-index          : 14;

	background       : rgba(0, 0, 0, 0.3);
	cursor           : pointer;
	pointer-events   : none;

	transform-origin : right center;
	transform        : scaleX(0);
	transition       : all .3s ease-in-out;
}

.cart-panel-overlay--is-show {
	transform      : scaleY(1);
	pointer-events : all;
	transition     : all .3s ease-in-out .1s;
}

.cart-panel {
	position       : fixed;
	top            : 0;
	right          : 0;
	height         : 100vh;
	width          : 100%;
	max-width      : 400px;
	z-index        : 15;

	overflow       : auto;

	background     : white;
	padding        : 1rem 1rem 0;

	display        : flex;
	flex-direction : column;

	transform      : translate3d(100%, 0, 0);
	transition     : all .2s ease-in-out;
}

.cart-panel--is-show {
	transform  : translate3d(0, 0, 0);
	transition : all .4s ease-in-out .2s;
}

.cart-panel__close {
	position      : -webkit-sticky;
	position      : sticky;
	top           : 0;
	z-index       : 5;

	align-self    : flex-end;
	background    : white;
	border-radius : 50%;
	font-size     : calc(14px + (24 - 14) * ((100vw - 320px) / (1920 - 320)));
	padding       : 0;
	width         : 1em;
	height        : 1em;
	border        : 2px solid currentColor;
}

.cart-panel__product-item + .cart-panel__product-item {
	margin-top : 1.5em;
}

.cart-panel__product {
	display               : grid;
	grid-gap              : 5px 20px;
	grid-template-columns : 125px 1fr;
}

.cart-panel__product-cart-actions {
	display     : flex;
	align-items : center;
	flex-wrap   : wrap;
}

.cart-panel__product-cart-actions .cart-panel__product-cart-qty {
	margin-left : auto;
}

.cart-panel__product-cart-full-price {
	display         : flex;
	align-items     : center;
	justify-content : flex-end;
}

.cart-panel__summary-wrapper {
	margin-top : auto;

	position   : -webkit-sticky;
	position   : sticky;
	bottom     : 0;
	background : white;
	z-index    : 5;

	font-size  : calc(12px + (13 - 12) * ((100vw - 320px) / (1920 - 320)));

	padding    : 1rem 0 1rem;
}

.cart-panel__summary {
	border-top  : 1px solid rgba(0, 0, 0, .15);
	padding-top : .25rem;
}

.cart-panel__summary-line {
	display         : flex;
	justify-content : space-between;
}

.cart-panel__total {
	border-top  : 1px solid currentColor;
	padding-top : 1em;
	margin-top  : 1em;
}

.cart-panel__validate {
	width      : 100%;
	margin-top : 2em;
}

.cart-panel .features-container, .cart-panel .season-container {
    font-size: 11px;
    font-weight: normal;
}

.cart-panel  .cart-panel__product-item {
    padding-bottom: 10px;
    border-bottom: 1px dotted #111;
}

