That’s because you have just restyled the same elements to have a background and no borders!!
You were using before and after to apply the lines but now you change them to be a different size and just have backgrounds only. You can’t change the elements properties and then say where has the other one gone (there is no other one it is the same one)
You could add some borders to your new properties.
Remember though that your original declarations still cascade into these styles so if there are conflicts they need to be resolved (which is why I added the left:auto to over-ride a previous setting).
When you have a space then that means a descendant selector. Your code will actually work using a descendant selector but it is actually applying another set of before and after to the empty nested div. It does not replace the original lines.
Now I see what was going on. There was an empty div in the html that created the descendant selector.
</svg>
<div></div>
</div>
asasass, Now I see that you were using the .wrap pseudos for the left and right background colors. Then you used pseudos on the empty div for your lines.
You could have just used a gradient bg image on .wrap and then the .wrap pseudos could have been your lines. That would have eliminated the empty div and the confusion of pseudo descendant selectors.