$quantity-width: 110px;

div.quantity {	
	display: inline-grid;
	grid-template-columns: 1fr 27px;
	grid-template-rows: 1fr 1fr;
	grid-row-gap: 1px;

	width: $quantity-width;
	height: var(--quantityHeight, 55px);

	input[type="number"] {
		grid-column: 1;
		grid-row: 1 / span 2;

		--formPadding: 0 7px;
		--formFontSize: 16px;
		--formInputHeight: 100%;
		-moz-appearance: textfield;
		font-weight: 500;
		text-align: center;
		
		background-image: none;
		border: 1px solid var(--buttonInitialColor);
		border-right-width: 0;
		border-radius: 3px 0 0 3px;

		&::-webkit-inner-spin-button,
		&::-webkit-outer-spin-button {
			appearance: none;
		}

		&:focus {
			border-color: var(--buttonInitialColor);
			box-shadow: 0 0 0 1px var(--buttonInitialColor);

			~ .ct-increase {
				box-shadow: 0 -1px 0 0 var(--buttonInitialColor);
			}

			~ .ct-decrease {
				box-shadow: 0 1px 0 0 var(--buttonInitialColor);
			}
		}
	}
}

.ct-increase, .ct-decrease {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	cursor: pointer;
	background: var(--buttonInitialColor);
	transition: all 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955);

	&:before {
		font-family: 'woo';
		content: '\e908';
		font-size: 8px;
		font-weight: normal;
		line-height: normal;
	}

	&:hover {
		background: var(--buttonHoverColor);
	}
}

.ct-increase {
	border-top-right-radius: 3px;
}

.ct-decrease {
	border-bottom-right-radius: 3px;

	&:before {
		transform: rotate(180deg);
	}
}