$arrows-width: 25%; div.quantity { position: relative; display: inline-block; width: var(--quantityWidth, 110px); height: var(--quantityHeight, 55px); input[type="number"] { max-width: initial; height: inherit; padding: 0 calc(#{$arrows-width} + 7px) 0 7px !important; border-radius: 3px !important; border: 1px solid var(--buttonInitialColor) !important; border-right: 0 !important; background-image: none; // typography --formFontSize: 16px; --formInputHeight: 100%; font-weight: 500; text-align: center; // hide top & bottom arrows -moz-appearance: textfield; &::-webkit-inner-spin-button, &::-webkit-outer-spin-button { -webkit-appearance: none; } // focus on input &:focus { border-color: var(--buttonInitialColor); box-shadow: 0 0 0 1px var(--buttonInitialColor); } } .ct-increase, .ct-decrease { position: absolute; display: flex; align-items: center; justify-content: center; right: 0; width: $arrows-width; max-width: 25px; color: #fff; cursor: pointer; user-select: none; background: var(--buttonInitialColor); transition: all 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955); &:before { font-family: 'woo'; content: '\e90c'; font-size: 13px; font-weight: normal; line-height: normal; } &:hover { background: var(--buttonHoverColor); } } .ct-increase { top: 0; height: calc(50% - 1px); border-top-right-radius: 3px; } .ct-decrease { bottom: 0; height: 50%; border-bottom-right-radius: 3px; &:before { transform: rotate(180deg); } } }